linux/drivers/i2c/busses
Jon Hunter 1f50ad2c86 i2c: tegra: Add runtime power-management support
Update the Tegra I2C driver to use runtime PM and move the code in the
tegra_i2c_clock_enable/disable() functions to the PM runtime resume and
suspend callbacks, respectively.

Note that given that CONFIG_PM is not mandatory for Tegra, if CONFIG_PM
is not enabled and so runtime PM is not enabled, ensure that the I2C
clocks are turned on during probe and kept on by calling the resume
callback directly.

In the function tegra_i2c_init(), the variable 'err' does not need to be
initialised to zero in tegra_i2c_init() because it is initialised when
pm_runtime_get_sync() is called. Furthermore, to ensure we only return 0
from tegra_i2c_init(), it is necessary to re-initialise 'err' to 0 after
a successful call to pm_runtime_get_sync() because it can return a
positive value on success. However, alternatively re-initialise 'err' by
using the return value of the function tegra_i2c_flush_fifos() because
it can only be 0 or -ETIMEDOUT.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-08-30 22:00:40 +02:00
..
i2c-acorn.c i2c: acorn: is tristate and should use module.h 2014-01-24 18:21:11 +01:00
i2c-ali15x3.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-ali1535.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-ali1563.c i2c: ali1563: fix checkpatch.pl issues 2014-05-22 10:09:21 +02:00
i2c-amd756-s4882.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-amd756.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-amd8111.c i2c: remove DEFINE_PCI_DEVICE_TABLE macro 2014-03-13 09:44:59 +01:00
i2c-at91.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-au1550.c i2c: au1550: Convert to devm_kzalloc and devm_ioremap_resource 2015-10-23 23:31:11 +02:00
i2c-axxia.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-bcm-iproc.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-bcm-kona.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-bcm2835.c i2c: bcm2835: Don't complain on -EPROBE_DEFER from getting our clock 2016-07-22 09:23:53 +02:00
i2c-bfin-twi.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-brcmstb.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-cadence.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-cbus-gpio.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-cpm.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-cros-ec-tunnel.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-davinci.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-designware-baytrail.c i2c: designware-platform: Drop duplicate module information 2016-02-12 20:40:13 +01:00
i2c-designware-core.c i2c: designware: do not disable adapter after transfer 2016-08-26 00:42:16 +02:00
i2c-designware-core.h i2c: designware: detect when dynamic tar update is possible 2016-08-26 00:42:15 +02:00
i2c-designware-pcidrv.c i2c: designware-pci: clarify a comment for Merrifield 2016-07-06 00:42:17 +09:00
i2c-designware-platdrv.c i2c: designware: Find bus speed from ACPI 2016-08-26 00:42:11 +02:00
i2c-digicolor.c i2c: digicolor: remove duplicate include 2015-04-23 19:35:32 +02:00
i2c-diolan-u2c.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-dln2.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-efm32.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-eg20t.c i2c: eg20t: set i2c_adapter->dev.of_node 2015-12-03 22:11:46 +01:00
i2c-elektor.c i2c: elektor: Utilize the module_isa_driver macro 2016-06-19 19:45:43 +02:00
i2c-emev2.c i2c: emev2: add slave support 2015-12-05 19:55:36 +01:00
i2c-exynos5.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-gpio.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-highlander.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-hix5hd2.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-hydra.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-i801.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-ibm_iic.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-ibm_iic.h
i2c-img-scb.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-imx.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-iop3xx.c i2c: iop3xx: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
i2c-iop3xx.h i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-isch.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-ismt.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-jz4780.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-kempld.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-lpc2k.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-meson.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-mpc.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-mt65xx.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-mv64xxx.c i2c: mv64xxx: remove CONFIG_HAVE_CLK conditionals 2016-04-27 19:03:15 +02:00
i2c-mxs.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-nforce2-s4985.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-nforce2.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-nomadik.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-ocores.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-octeon-core.c i2c: octeon: Use booleon values for booleon variables 2016-08-26 00:42:00 +02:00
i2c-octeon-core.h i2c: octeon,thunderx: Move register offsets to struct 2016-08-26 00:41:57 +02:00
i2c-octeon-platdrv.c i2c: octeon: Sort include files alphabetically 2016-08-26 00:41:58 +02:00
i2c-omap.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-opal.c powerpc/opal: Add inline function to get rc from an ASYNC_COMP opal_msg 2016-06-29 17:33:18 +10:00
i2c-parport-light.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
i2c-parport.c i2c: parport: start using pr_fmt 2015-08-10 08:37:28 +02:00
i2c-parport.h i2c: parport: Add VCT-jig adapter 2015-08-10 08:37:34 +02:00
i2c-pasemi.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-pca-isa.c i2c: pca-isa: Utilize the module_isa_driver macro 2016-06-19 19:49:29 +02:00
i2c-pca-platform.c i2c: pca-platform: fix broken email address 2015-04-23 19:35:30 +02:00
i2c-piix4.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-pmcmsp.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-pnx.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-powermac.c i2c: powermac: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
i2c-puv3.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-pxa-pci.c i2c: remove DEFINE_PCI_DEVICE_TABLE macro 2014-03-13 09:44:59 +01:00
i2c-pxa.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-qup.c Merge branch 'i2c/for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2016-07-27 14:19:25 -07:00
i2c-rcar.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-riic.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-rk3x.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-robotfuzz-osif.c i2c: robotfuzz-osif: Constify osif_table 2016-06-13 22:32:09 +02:00
i2c-s3c2410.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-scmi.c i2c: delete non-required instances of include <linux/init.h> 2014-01-24 18:24:31 +01:00
i2c-sh_mobile.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-sh7760.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-sibyte.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-simtec.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
i2c-sirf.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-sis96x.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-sis630.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-sis5595.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-st.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-stu300.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-sun6i-p2wi.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-taos-evm.c i2c: taos-evm: replace simple_strtoul by kstrtou8 2015-11-30 18:37:22 +01:00
i2c-tegra.c i2c: tegra: Add runtime power-management support 2016-08-30 22:00:40 +02:00
i2c-thunderx-pcidrv.c i2c: octeon,thunderx: Move register offsets to struct 2016-08-26 00:41:57 +02:00
i2c-tiny-usb.c i2c: i2c-tiny-usb: Remove RobotFuzz USB vendor:product ID 2014-01-13 13:56:52 +01:00
i2c-uniphier-f.c i2c: uniphier{-f}: don't print error when adding adapter fails 2016-08-22 08:19:56 +02:00
i2c-uniphier.c i2c: uniphier{-f}: don't print error when adding adapter fails 2016-08-22 08:19:56 +02:00
i2c-versatile.c i2c: versatile: Convert to use resource managed devm_* APIs 2016-07-14 21:21:56 +09:00
i2c-via.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-viapro.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-viperboard.c i2c: viperboard: clean up inconsistent indenting 2015-08-10 08:37:38 +02:00
i2c-wmt.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-xgene-slimpro.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-xiic.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-xlp9xx.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-xlr.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
Kconfig i2c: thunderx: Add SMBUS alert support 2016-08-26 00:41:56 +02:00
Makefile i2c: thunderx: Add i2c driver for ThunderX SOC 2016-08-26 00:41:55 +02:00
scx200_acb.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00