linux/drivers/i2c/busses
Tony Lindgren c6e2bd9569 i2c: omap: Use noirq system sleep pm ops to idle device for suspend
We currently get the following error with pixcir_ts driver during a
suspend resume cycle:

omap_i2c 4802a000.i2c: controller timed out
pixcir_ts 1-005c: pixcir_int_enable: can't read reg 0x34 : -110
pixcir_ts 1-005c: Failed to disable interrupt generation: -110
pixcir_ts 1-005c: Failed to stop
dpm_run_callback(): pixcir_i2c_ts_resume+0x0/0x98
[pixcir_i2c_ts] returns -110
PM: Device 1-005c failed to resume: error -110

And at least am437x based devices with pixcir_ts will fail to resume
to a touchscreen that is configured as the wakeup-source in device
tree for these devices.

This is because pixcir_ts tries to reconfigure it's registers for
noirq suspend which fails. This also leaves i2c-omap in enabled state
for suspend.

Let's fix the pixcir_ts issue and make sure i2c-omap is suspended by
adding SET_NOIRQ_SYSTEM_SLEEP_PM_OPS.

Let's also get rid of some ifdefs while at it and replace them with
__maybe_unused as SET_RUNTIME_PM_OPS and SET_NOIRQ_SYSTEM_SLEEP_PM_OPS
already deal with the various PM Kconfig options.

Reported-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2019-02-05 13:13:20 +01:00
..
i2c-acorn.c i2c: acorn: remove outdated path from file header 2018-01-18 00:08:20 +01:00
i2c-ali15x3.c Annotate hardware config module parameters in drivers/i2c/ 2017-04-20 12:02:32 +01:00
i2c-ali1535.c
i2c-ali1563.c
i2c-altera.c i2c: altera: Add Altera I2C Controller driver 2017-09-13 23:37:16 +02:00
i2c-amd756-s4882.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07: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: amd8111: Mark expected switch fall-through 2018-08-08 22:28:46 +02:00
i2c-aspeed.c i2c: aspeed: fix invalid clock parameters for very large divisors 2018-09-24 23:50:42 +02:00
i2c-at91.c i2c: at91: Read all available bytes at once 2018-04-30 10:39:28 +02:00
i2c-au1550.c
i2c-axxia.c i2c: axxia: support sequence command mode 2018-12-17 23:28:50 +01:00
i2c-bcm2835.c i2c: bcm2835: Switch to SPDX identifier 2018-11-27 12:50:07 +01:00
i2c-bcm-iproc.c i2c: use dev_get_drvdata() to get private data in suspend/resume hooks 2017-07-31 17:03:32 +02:00
i2c-bcm-kona.c Merge branch 'i2c/for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2016-10-07 14:12:21 -07:00
i2c-brcmstb.c i2c: remove i2c_lock_adapter and use i2c_lock_bus directly 2018-07-13 00:09:37 +02:00
i2c-cadence.c i2c: use dev_get_drvdata() to get private data in suspend/resume hooks 2017-07-31 17:03:32 +02:00
i2c-cbus-gpio.c
i2c-cht-wc.c i2c-cht-wc: Fix bq24190 supplier 2018-07-02 17:38:07 +02:00
i2c-cpm.c i2c: busses: make i2c_adapter_quirks const 2017-08-29 22:32:47 +02:00
i2c-cros-ec-tunnel.c i2c: i2c-cros-ec-tunnel: Switch to SPDX identifier. 2018-12-17 23:08:41 +01:00
i2c-davinci.c Merge branch 'i2c/for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2018-08-21 17:40:46 -07:00
i2c-designware-baytrail.c More ACPI updates for 4.20-rc1 2018-10-30 09:15:31 -07:00
i2c-designware-common.c More ACPI updates for 4.20-rc1 2018-10-30 09:15:31 -07:00
i2c-designware-core.h More ACPI updates for 4.20-rc1 2018-10-30 09:15:31 -07:00
i2c-designware-master.c This is the 4.19-rc7 release 2018-10-11 23:07:30 +02:00
i2c-designware-pcidrv.c i2c: designware: Add SPDX license tag 2018-08-20 10:45:45 +02:00
i2c-designware-platdrv.c More ACPI updates for 4.20-rc1 2018-10-30 09:15:31 -07:00
i2c-designware-slave.c i2c: designware: Add SPDX license tag 2018-08-20 10:45:45 +02:00
i2c-digicolor.c i2c: digicolor: use clk_disable_unprepare instead of clk_unprepare 2016-11-18 01:48:01 +01:00
i2c-diolan-u2c.c i2c: busses: make use of i2c_8bit_addr_from_msg 2018-05-29 20:30:49 +02:00
i2c-dln2.c i2c: constify i2c_adapter_quirks structures 2016-11-18 02:05:03 +01:00
i2c-efm32.c i2c: busses: make use of i2c_8bit_addr_from_msg 2018-05-29 20:30:49 +02:00
i2c-eg20t.c i2c: busses: make use of i2c_8bit_addr_from_msg 2018-05-29 20:30:49 +02:00
i2c-elektor.c Annotate hardware config module parameters in drivers/i2c/ 2017-04-20 12:02:32 +01:00
i2c-emev2.c i2c: use SPDX identifier for Renesas drivers 2018-08-24 14:49:36 +02:00
i2c-exynos5.c i2c: exynos5: Describe the hardware variant for readability 2018-07-21 00:15:22 +02:00
i2c-fsi.c i2c: fsi: Add bus recovery 2018-07-21 00:07:09 +02:00
i2c-gpio.c Merge branch 'i2c/precise-locking-names_immutable' into i2c/for-4.19 2018-07-13 00:12:53 +02:00
i2c-highlander.c i2c: use SPDX identifier for Renesas drivers 2018-08-24 14:49:36 +02:00
i2c-hix5hd2.c i2c: busses: make use of i2c_8bit_addr_from_msg 2018-05-29 20:30:49 +02:00
i2c-hydra.c
i2c-i801.c i2c: i801: fix DNV's SMBCTRL register offset 2018-09-04 18:04:55 +02:00
i2c-ibm_iic.c i2c: Remove caller signal_pending branch predictions 2018-11-27 12:59:16 +01:00
i2c-ibm_iic.h
i2c-img-scb.c i2c: img-scb: Add runtime PM 2017-10-28 14:03:45 +02:00
i2c-imx-lpi2c.c i2c: imx-lpi2c: Remove mx8dv compatible entry 2018-09-02 23:50:43 +02:00
i2c-imx.c i2c: imx: don't print error message on probe defer 2018-11-27 12:55:45 +01: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-isch.c i2c: i2c-isch: fix spelling mistake "unitialized" -> "uninitialized" 2018-09-25 00:14:04 +02:00
i2c-ismt.c i2c: ismt: Add support for Intel Cedar Fork 2019-01-03 20:02:32 +01:00
i2c-jz4780.c i2c: jz4780: Fix module autoload 2016-10-25 11:48:58 +02:00
i2c-kempld.c i2c: busses: make use of i2c_8bit_addr_from_msg 2018-05-29 20:30:49 +02:00
i2c-lpc2k.c i2c: use dev_get_drvdata() to get private data in suspend/resume hooks 2017-07-31 17:03:32 +02:00
i2c-meson.c i2c: meson: update doc description to fix build warnings 2018-01-26 18:33:44 +01:00
i2c-mlxcpld.c i2c: mlxcpld: Allow configurable adapter id for mlxcpld 2018-04-30 10:39:29 +02:00
i2c-mpc.c i2c: mpc: always determine I2C clock prescaler at runtime 2018-01-15 19:19:55 +01:00
i2c-mt65xx.c i2c: mediatek: Use DMA safe buffers for i2c transactions 2018-09-06 20:33:15 +02:00
i2c-mv64xxx.c i2c: mv64xxx: Apply errata delay only in standard mode 2018-03-17 21:20:04 +01:00
i2c-mxs.c i2c: mxs: use core to detect 'no zero length' quirk 2018-08-04 23:25:06 +02:00
i2c-nforce2-s4985.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
i2c-nforce2.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
i2c-nomadik.c i2c: busses: remove superfluous ignoring of children for RPM 2018-05-08 23:19:02 +02:00
i2c-nvidia-gpu.c i2c: nvidia-gpu: mark resume function as __maybe_unused 2018-12-11 21:39:43 +01:00
i2c-ocores.c i2c: ocores: update my email address 2018-08-24 14:46:43 +02:00
i2c-octeon-core.c i2c: octeon: Prevent error message on bus error 2018-03-02 11:11:15 +01:00
i2c-octeon-core.h i2c: octeon: Prevent error message on bus error 2018-03-02 11:11:15 +01:00
i2c-octeon-platdrv.c i2c: busses: make i2c_adapter const 2017-08-29 22:26:08 +02:00
i2c-omap.c i2c: omap: Use noirq system sleep pm ops to idle device for suspend 2019-02-05 13:13:20 +01:00
i2c-opal.c i2c: opal: don't check number of messages in the driver 2018-05-24 22:06:17 +02:00
i2c-owl.c i2c: Add Actions Semiconductor Owl family S700 I2C support 2019-01-03 20:36:18 +01:00
i2c-parport-light.c i2c: i2c-smbus: Use threaded irq for smbalert 2017-10-28 23:42:26 +02:00
i2c-parport.c i2c: i2c-smbus: Use threaded irq for smbalert 2017-10-28 23:42:26 +02:00
i2c-parport.h
i2c-pasemi.c i2c: pasemi: remove hardcoded bus numbers on smbus 2018-08-20 11:01:13 +02:00
i2c-pca-isa.c Annotate hardware config module parameters in drivers/i2c/ 2017-04-20 12:02:32 +01:00
i2c-pca-platform.c i2c: pca-platform: move header to platform_data 2018-05-17 16:27:58 +02:00
i2c-piix4.c i2c: piix4: Use request_muxed_region 2018-03-02 11:17:23 +01:00
i2c-pmcmsp.c i2c: pmcmsp: use core to detect 'no zero length' quirk 2018-08-04 23:25:06 +02:00
i2c-pnx.c i2c: pnx: move header into the driver 2018-05-17 16:27:59 +02:00
i2c-powermac.c i2c: powermac: Use of_node_name_eq for node name comparisons 2018-12-11 21:16:28 +01:00
i2c-puv3.c i2c: busses: make i2c_algorithm const 2017-08-29 22:20:20 +02:00
i2c-pxa-pci.c ARM: pxa: move header file out of I2C realm 2017-11-28 22:49:30 +01:00
i2c-pxa.c ARM: pxa: move header file out of I2C realm 2017-11-28 22:49:30 +01:00
i2c-qcom-geni.c i2c: qcom-geni: Fix runtime PM mismatch with child devices 2018-11-09 17:25:48 +01:00
i2c-qup.c i2c: qup: use core to detect 'no zero length' quirk 2018-10-05 18:05:08 +02:00
i2c-rcar.c i2c: rcar: check bus state before reinitializing 2018-11-27 14:00:36 +01:00
i2c-riic.c i2c: use SPDX identifier for Renesas drivers 2018-08-24 14:49:36 +02:00
i2c-rk3x.c i2c: rk3x: Don't print visible virtual mapping MMIO address 2018-05-24 22:09:05 +02:00
i2c-robotfuzz-osif.c i2c: robotfuzz-osif: drop pointless test 2018-05-24 22:13:04 +02:00
i2c-s3c2410.c i2c: remove i2c_lock_adapter and use i2c_lock_bus directly 2018-07-13 00:09:37 +02:00
i2c-scmi.c i2c: scmi: Fix probe error on devices with an empty SMB0001 ACPI device node 2018-12-06 23:14:59 +01:00
i2c-sh7760.c i2c: don't print error when adding adapter fails 2016-08-22 08:19:55 +02:00
i2c-sh_mobile.c i2c: sh_mobile: Add support for r8a774c0 (RZ/G2E) 2018-12-17 23:20:09 +01:00
i2c-sibyte.c
i2c-simtec.c i2c: simtec: use release_mem_region instead of release_resource 2017-08-14 21:39:21 +02:00
i2c-sirf.c i2c: busses: i2c-sirf: Fix spelling: "formular" -> "formula". 2018-02-22 12:12:35 +01:00
i2c-sis96x.c
i2c-sis630.c
i2c-sis5595.c Annotate hardware config module parameters in drivers/i2c/ 2017-04-20 12:02:32 +01:00
i2c-sprd.c i2c: remove i2c_lock_adapter and use i2c_lock_bus directly 2018-07-13 00:09:37 +02:00
i2c-st.c i2c: use dev_get_drvdata() to get private data in suspend/resume hooks 2017-07-31 17:03:32 +02:00
i2c-stm32.c i2c: i2c-stm32: Add generic DMA API 2018-04-30 10:39:27 +02:00
i2c-stm32.h i2c: i2c-stm32: Add generic DMA API 2018-04-30 10:39:27 +02:00
i2c-stm32f4.c i2c-stm32f4: remove redundant initialization of pointer reg 2018-02-27 13:51:05 +01:00
i2c-stm32f7.c i2c: i2c-stm32f7: add PM Runtime support 2018-12-01 00:14:45 +01:00
i2c-stu300.c i2c: stu300: use core to detect 'no zero length' quirk 2018-08-04 23:25:07 +02:00
i2c-sun6i-p2wi.c i2c: sun6i-pw2i: explicitly request exclusive reset control 2017-08-14 21:40:21 +02:00
i2c-synquacer.c i2c: synquacer: fix fall-through annotation 2018-09-25 00:06:02 +02:00
i2c-taos-evm.c i2c: taos-evm: Remove duplicate NULL check 2017-11-02 00:01:21 +01:00
i2c-tegra-bpmp.c i2c: tegra: fix spelling mistake: "contoller" -> "controller" 2017-04-21 14:04:57 +02:00
i2c-tegra.c i2c: tegra: Fix Maximum transfer size 2019-01-11 00:15:04 +01:00
i2c-thunderx-pcidrv.c i2c: thunderx: Remove duplicate NULL check 2017-11-02 00:01:31 +01:00
i2c-tiny-usb.c i2c: i2c-tiny-usb: fix buffer not being DMA capable 2017-05-22 10:33:42 +02:00
i2c-uniphier-f.c i2c: uniphier-f: fix violation of tLOW requirement for Fast-mode 2018-12-06 23:14:59 +01:00
i2c-uniphier.c i2c: uniphier: fix violation of tLOW requirement for Fast-mode 2018-12-06 23:14:59 +01:00
i2c-versatile.c i2c: versatile: Make i2c_algo_bit_data const 2017-08-29 22:34:12 +02:00
i2c-via.c
i2c-viapro.c Annotate hardware config module parameters in drivers/i2c/ 2017-04-20 12:02:32 +01:00
i2c-viperboard.c i2c: viperboard: return message count on master_xfer success 2018-05-15 09:31:26 +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: xgene-slimpro: Support v2 2017-11-01 23:54:53 +01:00
i2c-xiic.c i2c: xiic: Make the start and the byte count write atomic 2018-09-06 20:49:09 +02:00
i2c-xlp9xx.c i2c: xlp9xx: Fix case where SSIF read transaction completes early 2018-08-09 17:41:13 +02:00
i2c-xlr.c i2c: xlr: use core to detect 'no zero length' quirk 2018-08-04 23:25:08 +02:00
i2c-zx2967.c i2c: zx2967: use core to detect 'no zero length' quirk 2018-10-05 18:05:37 +02:00
Kconfig i2c: add i2c bus driver for NVIDIA GPU 2018-11-09 17:46:43 +01:00
Makefile i2c: add i2c bus driver for NVIDIA GPU 2018-11-09 17:46:43 +01:00
scx200_acb.c Annotate hardware config module parameters in drivers/i2c/ 2017-04-20 12:02:32 +01:00