git: kernel - Add support for haswell I2C, expand smbus API, fix /dev/smb*
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Jan 6 11:22:27 PST 2014
commit d316587fb7e2095feadd275045648efba8e09370
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon Jan 6 11:16:53 2014 -0800
kernel - Add support for haswell I2C, expand smbus API, fix /dev/smb*
* Add support for the Haswell I2C bus, initially populated with the
mobile chipset I2C PCI ids (probably others will work too).
* Expand the SMBUS API to add a smbus_trans() function. This function
wraps up all the other functions into one convenient call and is
also capable of doing I2C pass-through and chaining when given the
appropriate flags.
If we continue to get our I2C/SMBUS act together we need to collapse
the IIC and SMBUS APIs into one API and treat them both the same,
with flags indicating what is supported. And (pretty much) we need
to collapse nearly the whole mess into this one function call.
* SMBUS now auto-probes and will attempt to add children for anything
probed, including generic whole-bus children.
* The SMB user device now accept SMBUS probes last-in-line and creates
appropriate /dev/smb* devices.
* Change the SMB user device ioctl() interface to something much less
confusing, and implement an ioctl for generic transaction that
basically folds into the new smbus_trans() API call.
Summary of changes:
sys/bus/smbus/Makefile | 2 +-
sys/bus/smbus/ichiic/Makefile | 12 +
sys/bus/smbus/ichiic/ig4_iic.c | 798 +++++++++++++++++++++++++++++++++++++++++
sys/bus/smbus/ichiic/ig4_pci.c | 194 ++++++++++
sys/bus/smbus/ichiic/ig4_reg.h | 618 +++++++++++++++++++++++++++++++
sys/bus/smbus/ichiic/ig4_var.h | 93 +++++
sys/bus/smbus/smb.c | 190 ++++++----
sys/bus/smbus/smb.h | 47 +--
sys/bus/smbus/smbconf.c | 12 +-
sys/bus/smbus/smbconf.h | 26 ++
sys/bus/smbus/smbus.c | 51 ++-
sys/bus/smbus/smbus_if.m | 17 +
12 files changed, 1962 insertions(+), 98 deletions(-)
create mode 100644 sys/bus/smbus/ichiic/Makefile
create mode 100644 sys/bus/smbus/ichiic/ig4_iic.c
create mode 100644 sys/bus/smbus/ichiic/ig4_pci.c
create mode 100644 sys/bus/smbus/ichiic/ig4_reg.h
create mode 100644 sys/bus/smbus/ichiic/ig4_var.h
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d316587fb7e2095feadd275045648efba8e09370
--
DragonFly BSD source repository
More information about the Commits
mailing list