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