[PATCH V4 0/2] i2c-designware: Add Intel Baytrail pmic i2c bus support

From: David E. Box
Date: Thu Jan 15 2015 - 04:16:16 EST


V4: - Added bus lock to i2c_dw_init() as suggested by Jarrko Nikula
<jarkko.nikula@xxxxxxxxxxxxxxx>. Addresses infrequent hang that was
seen occuring during probe.
- Added label in i2c_dw_xfer() to bypass unnecessary lock release when
acquire fails. Suggested by Mika.
- Changed make to build driver as composite addition to
i2c-designware-platform. Driver can be module or built-in following
the platform driver selection. Tested as both.
- Added EPROBE_DEFER return to baytrail definition of i2c_dw_eval_lock()
to defer probe if iosf_mbi driver (required for acquring bus lock) is
not available.

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. Furthermore 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 undesirable)
compile time scalability. Future Intel platforms will however continue
to use the Baytrail driver.

V2: - Moved semaphore detection out of dw platform driver
- Replaced function pointers with defined acquire/release functions in
dw core. This helps eliminate 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.

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

drivers/i2c/busses/Kconfig | 11 ++
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-designware-baytrail.c | 160 +++++++++++++++++++++++++++
drivers/i2c/busses/i2c-designware-core.c | 26 +++++
drivers/i2c/busses/i2c-designware-core.h | 12 ++
drivers/i2c/busses/i2c-designware-platdrv.c | 20 +++-
6 files changed, 225 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/