summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
diff options
context:
space:
mode:
authorDmitry Osipenko <digetx@gmail.com>2018-05-14 00:13:47 +0300
committerWolfram Sang <wsa@the-dreams.de>2018-05-30 22:20:09 +0200
commit535ba90472da812a55e5b95d30a916597c4f5f90 (patch)
treeaccbebfd694da2b9da0a55de54a8879bb18d45a7 /arch/arm/mach-omap2/omap_hwmod_54xx_data.c
parenteedeaed289315726f0d9ea83094f49d8523623ac (diff)
downloadlinux-stable-535ba90472da812a55e5b95d30a916597c4f5f90.tar.gz
linux-stable-535ba90472da812a55e5b95d30a916597c4f5f90.tar.bz2
linux-stable-535ba90472da812a55e5b95d30a916597c4f5f90.zip
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>
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod_54xx_data.c')
0 files changed, 0 insertions, 0 deletions