Select Intel Baytrail platforms support PMIC's whose i2c bus may be controlled
exclusively by platform hardware. This patch set adds support for i2c bus
locking to the designware core and provides a driver module for managing
the lock on these platforms. Since the lock on these systems isn't enumerable
outside of the i2c platform driver, the locking functions are assigned at
compile time.

V2:     Moved semaphore detection out of dw platform driver
        Replaced function pointers with defined acquire/release functions in dw
                core. This helps elliminate the ifdefery in the dw platform 
driver.
        Use new has_hw_lock flag to check if the lock exists on a given bus.
        Use new pm_runtime_disabled flag to conditionally turnoff runtime pm
                in the dw platform driver.

V3:     Split lock support and driver into separate patches
        Change module build to bool. Platforms running without this driver 
cannot
                perform critical functions such as charging. Futhermore 
attempts by
                other drivers to access the i2c bus without a lock will hang the
                platform.
        Replaced has_hw_lock flag with acquire/release function pointers.
        Replaced acquire/release ifdef code with single 
i2c_dw_eval_lock_support()
                test for cleaner (if still undesireable) compile time 
scalability.
                Future Intel platforms will however continue to use the Baytrail
                driver.

David E. Box (2):
  i2c-designware: Add i2c bus locking support
  i2c-designware: Add Intel Baytrail PMIC I2C bus support

 drivers/i2c/busses/Kconfig                   |  12 +++
 drivers/i2c/busses/Makefile                  |   1 +
 drivers/i2c/busses/i2c-designware-baytrail.c | 155 +++++++++++++++++++++++++++
 drivers/i2c/busses/i2c-designware-core.c     |  11 ++
 drivers/i2c/busses/i2c-designware-core.h     |  12 +++
 drivers/i2c/busses/i2c-designware-platdrv.c  |  18 +++-
 6 files changed, 204 insertions(+), 5 deletions(-)
 create mode 100644 drivers/i2c/busses/i2c-designware-baytrail.c

-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to