lkml.org 
[lkml]   [2015]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH V4 0/2] i2c-designware: Add Intel Baytrail pmic i2c bus support
Date
V4:	- Added bus lock to i2c_dw_init() as suggested by Jarrko Nikula
<jarkko.nikula@linux.intel.com>. 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



\
 
 \ /
  Last update: 2015-01-15 10:41    [W:0.817 / U:0.100 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site