linux/drivers/i2c
Alexander Monakov 06cb616b1b i2c: designware: fix poll-after-enable regression
Not all revisions of DW I2C controller implement the enable status register.
On platforms where that's the case (e.g. BG2CD and SPEAr ARM SoCs), waiting
for enable will time out as reading the unimplemented register yields zero.

It was observed that reading the IC_ENABLE_STATUS register once suffices to
avoid getting it stuck on Bay Trail hardware, so replace polling with one
dummy read of the register.

Fixes: fba4adbbf6 ("i2c: designware: must wait for enable")
Signed-off-by: Alexander Monakov <amonakov@ispras.ru>
Tested-by: Ben Gardner <gardner.ben@gmail.com>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Cc: stable@kernel.org
2018-05-10 12:30:20 +02:00
..
algos i2c: algo-bit: init the bus to a known state 2017-12-31 00:16:37 +01:00
busses i2c: designware: fix poll-after-enable regression 2018-05-10 12:30:20 +02:00
muxes i2c: mux: pca954x: verify the device id of the pca984x chips 2018-03-06 10:57:59 +01:00
i2c-boardinfo.c i2c: i2c-boardinfo: fix memory leaks on devinfo 2017-11-27 19:14:29 +01:00
i2c-core-acpi.c i2c: core: ACPI: Log device not acking errors at dbg loglevel 2018-04-30 10:53:31 +02:00
i2c-core-base.c i2c: add param sanity check to i2c_transfer() 2018-04-11 23:33:46 +02:00
i2c-core-of.c i2c: of: simplify reading the "reg" property 2018-02-26 20:40:46 +01:00
i2c-core-slave.c i2c: break out slave support into separate file 2017-05-31 21:01:03 +02:00
i2c-core-smbus.c i2c: reformat comments around i2c_smbus_xfer_emulated() 2018-02-27 13:54:05 +01:00
i2c-core.h i2c: make i2c_check_addr_validity() static 2018-03-24 14:07:23 +01:00
i2c-dev.c i2c: dev: prevent ZERO_SIZE_PTR deref in i2cdev_ioctl_rdwr() 2018-04-27 14:04:10 +02:00
i2c-mux.c i2c: mux: only print failure message on error 2017-05-15 18:49:11 +02:00
i2c-slave-eeprom.c i2c: Drop owner assignment from i2c_driver 2015-08-10 08:37:35 +02:00
i2c-smbus.c i2c: i2c-smbus: add of_i2c_setup_smbus_alert 2017-10-28 23:42:47 +02:00
i2c-stub.c i2c: stub: fix build warning regression 2017-06-15 23:22:11 +02:00
Kconfig Merge branch 'i2c/for-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2016-12-15 12:56:35 -08:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00