[PATCH V3 0/2] i2c-designware: Baytrail bus locking driver

From: David E. Box
Date: Mon Dec 01 2014 - 19:13:18 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/