linux/drivers/i2c
Dmitry Osipenko 535ba90472 i2c: tegra: Remove suspend-resume
Nothing prevents I2C clients to access I2C while Tegra's driver is being
suspended, this results in -EBUSY error returned to the clients and that
may have unfortunate consequences. In particular this causes problems
for the TPS6586x MFD driver which emits hundreds of "failed to read
interrupt status" error messages on resume from suspend. This happens if
TPS6586X is used to wake system from suspend by the expired RTC alarm
timer because TPS6586X is an I2C device driver and its IRQ handler reads
the status register while Tegra's I2C driver is suspended, i.e. just after
kernel enabled IRQ's during of resume-from-suspend process.

Note that the removed tegra_i2c_resume() invoked tegra_i2c_init() which
performs HW reset. That seems was also not entirely correct because moving
tegra_i2c_resume to an earlier stage of resume-from-suspend process causes
I2C transfer to fail in the case of TPS6586X. It is fine to remove the
HW-reinitialization for now because it should be only needed in a case of
using lowest power-mode during suspend, which upstream kernel doesn't
support.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2018-05-30 22:20:09 +02:00
..
algos i2c: algos: make use of i2c_8bit_addr_from_msg 2018-05-29 20:30:06 +02:00
busses i2c: tegra: Remove suspend-resume 2018-05-30 22:20:09 +02:00
muxes Merge branch 'i2c-mux/for-next' of https://github.com/peda-r/i2c-mux into i2c/for-4.18 2018-05-30 22:11:02 +02: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: Retain info->of_node in i2c_new_device() 2018-05-22 13:40:25 +02:00
i2c-core-of.c i2c: Export of_i2c_get_board_info() 2018-05-22 13:42:16 +02: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: core: smbus: fix a potential missing-check bug 2018-05-17 15:40:12 +02: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: improve error message for failed symlink 2018-05-24 13:42:40 +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