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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux