linux/drivers/gpio
Rafael J. Wysocki 45f0a85c82 PM / Runtime: Rework the "runtime idle" helper routine
The "runtime idle" helper routine, rpm_idle(), currently ignores
return values from .runtime_idle() callbacks executed by it.
However, it turns out that many subsystems use
pm_generic_runtime_idle() which checks the return value of the
driver's callback and executes pm_runtime_suspend() for the device
unless that value is not 0.  If that logic is moved to rpm_idle()
instead, pm_generic_runtime_idle() can be dropped and its users
will not need any .runtime_idle() callbacks any more.

Moreover, the PCI, SCSI, and SATA subsystems' .runtime_idle()
routines, pci_pm_runtime_idle(), scsi_runtime_idle(), and
ata_port_runtime_idle(), respectively, as well as a few drivers'
ones may be simplified if rpm_idle() calls rpm_suspend() after 0 has
been returned by the .runtime_idle() callback executed by it.

To reduce overall code bloat, make the changes described above.

Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Tested-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Kevin Hilman <khilman@linaro.org>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
2013-06-03 21:49:52 +02:00
..
devres.c gpio: export devm_gpio_request_one 2012-07-05 14:49:13 +02:00
gpio-74x164.c gpio: 74x164: use spi_get_drvdata() and spi_set_drvdata() 2013-03-27 16:05:13 +01:00
gpio-adnp.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-adp5520.c gpio: adp5520: use devm_kzalloc() 2013-03-27 16:05:10 +01:00
gpio-adp5588.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-amd8111.c gpio: add a driver for GPIO pins found on AMD-8111 south bridge chips 2012-07-12 13:40:13 +02:00
gpio-arizona.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-bt8xx.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-10-07 17:49:05 +09:00
gpio-clps711x.c GPIO: clps711x: use platform_device_unregister in gpio_clps711x_init() 2012-10-27 18:17:30 +02:00
gpio-cs5535.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-da9052.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
gpio-da9055.c Drivers: misc: remove __dev* attributes. 2013-01-03 15:57:16 -08:00
gpio-davinci.c gpio: davinci: preparation for switch to common clock framework 2012-09-01 01:12:01 +02:00
gpio-em.c gpio: em: Make use of devm functions 2013-03-27 16:05:09 +01:00
gpio-ep93xx.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-ge.c powerpc/85xx: Board support for GE IMP3A 2012-03-16 11:15:48 -05:00
gpio-generic.c GPIO: gpio-generic: remove kfree() from bgpio_remove call 2013-04-11 19:33:54 +02:00
gpio-grgpio.c gpio: grgpio: Add irq support 2013-04-26 08:52:38 +02:00
gpio-ich.c GPIO changes for Linux 3.10 2013-05-06 15:40:55 -07:00
gpio-it8761e.c
gpio-janz-ttl.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-ks8695.c ARM: 7036/1: mach-ks8695: break out GPIO driver specifics 2011-08-22 09:12:54 +01:00
gpio-langwell.c PM / Runtime: Rework the "runtime idle" helper routine 2013-06-03 21:49:52 +02:00
gpio-lpc32xx.c Removal of GENERIC_GPIO for v3.10 2013-05-09 09:59:16 -07:00
gpio-lynxpoint.c gpio-lynxpoint: Add X86 dependency and io-port handling header. 2013-03-27 16:05:09 +01:00
gpio-max730x.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
gpio-max732x.c gpio: max732x: use devm_kzalloc() 2013-03-27 16:05:11 +01:00
gpio-max7300.c gpio: max7300: use devm_kzalloc() 2013-03-27 16:05:11 +01:00
gpio-max7301.c MAX7301 GPIO: Do not force SPI speed when using OF Platform 2013-03-27 16:05:18 +01:00
gpio-mc9s08dz60.c gpio: mc9s08dz60: Use devm_kzalloc API 2012-09-01 01:02:27 +02:00
gpio-mc33880.c gpio: mc33880: use spi_get_drvdata() and spi_set_drvdata() 2013-03-27 16:05:14 +01:00
gpio-mcp23s08.c gpio: mcp23s08: convert driver to DT 2013-04-10 23:41:17 +02:00
gpio-ml-ioh.c gpio: Don't override the error code in probe error handling 2013-05-20 20:27:30 +02:00
gpio-mm-lantiq.c GPIO: MIPS: lantiq: convert gpio-mm-lantiq to OF and of_mm_gpio 2012-05-21 14:31:53 +01:00
gpio-mpc8xxx.c gpio: mpc8xxx: don't set IRQ_TYPE_NONE when creating irq mapping 2013-02-04 21:41:46 +01:00
gpio-mpc5200.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-msic.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-msm-v1.c gpio: Make gpio-msm-v1 into a platform driver 2013-03-05 12:05:43 -08:00
gpio-msm-v2.c arm: Move chained_irq_(enter|exit) to a generic file 2013-03-26 16:11:43 +00:00
gpio-mvebu.c drivers/gpio: don't check resource with devm_ioremap_resource 2013-05-18 11:55:19 +02:00
gpio-mxc.c arm: Move chained_irq_(enter|exit) to a generic file 2013-03-26 16:11:43 +00:00
gpio-mxs.c gpio: mxs: Use set and clear capabilities of the gpio controller 2013-05-20 20:14:43 +02:00
gpio-omap.c gpio/omap: ensure gpio context is initialised 2013-05-13 21:20:44 +02:00
gpio-palmas.c gpio: palmas: Add support for Palmas GPIO 2013-02-14 00:22:45 +01:00
gpio-pca953x.c GPIO changes for Linux 3.10 2013-05-06 15:40:55 -07:00
gpio-pcf857x.c gpio: pcf857x: use devm_kzalloc() 2013-03-27 16:05:12 +01:00
gpio-pch.c gpio: Don't override the error code in probe error handling 2013-05-20 20:27:30 +02:00
gpio-pl061.c ARM: arm-soc cleanup for 3.10 2013-05-02 09:03:55 -07:00
gpio-pxa.c GPIO changes for Linux 3.10 2013-05-06 15:40:55 -07:00
gpio-rc5t583.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-rcar.c gpio-rcar: Add pinctrl support 2013-04-03 10:30:34 +09:00
gpio-rdc321x.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-sa1100.c ARM: 7342/2: sa1100: prepare for sparse irq conversion 2012-03-25 23:57:20 +01:00
gpio-samsung.c GPIO changes for Linux 3.10 2013-05-06 15:40:55 -07:00
gpio-sch.c gpio: Don't override the error code in probe error handling 2013-05-20 20:27:30 +02:00
gpio-sodaville.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-spear-spics.c gpio: Convert to devm_ioremap_resource() 2013-01-22 11:41:56 -08:00
gpio-sta2x11.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-stmpe.c gpio: stmpe: pass DT node to irqdomain 2013-03-27 11:21:52 +01:00
gpio-stp-xway.c gpio: gpio-stp-xway.c: fix checkpatch error 2013-03-27 16:05:16 +01:00
gpio-sx150x.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-tc3589x.c gpio: gpio-tc3589x.c: fix checkpatch errors 2013-03-27 16:05:17 +01:00
gpio-tegra.c drivers/gpio: don't check resource with devm_ioremap_resource 2013-05-18 11:55:19 +02:00
gpio-timberdale.c gpio: gpio-timberdale.c: fix checkpatch error 2013-03-27 16:05:17 +01:00
gpio-tnetv107x.c ARM: 7039/1: mach-davinci: move DaVinci TNET GPIO driver to GPIO subsystem 2011-08-22 09:12:55 +01:00
gpio-tps6586x.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
gpio-tps65910.c gpio: gpio-tps65910.c: fix checkpatch error 2013-03-27 16:05:18 +01:00
gpio-tps65912.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-ts5500.c Drivers: misc: remove __dev* attributes. 2013-01-03 15:57:16 -08:00
gpio-twl4030.c gpio: twl4030: Cache the direction and output states in private data 2013-01-17 11:48:12 +01:00
gpio-twl6040.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-ucb1400.c mfd: ucb1400: Pass ucb1400-gpio data through ac97 bus 2013-04-19 00:40:07 +02:00
gpio-viperboard.c gpio: Don't override the error code in probe error handling 2013-05-20 20:27:30 +02:00
gpio-vr41xx.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-vx855.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-wm831x.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-wm8350.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-wm8994.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-xilinx.c gpio: remove use of __devinitdata 2012-11-28 11:39:59 -08:00
gpiolib-acpi.c gpiolib-acpi: introduce acpi_get_gpio_by_index() helper 2013-04-12 00:31:18 +02:00
gpiolib-of.c GPIO changes for Linux 3.10 2013-05-06 15:40:55 -07:00
gpiolib.c gpiolib: move comment to right function 2013-03-02 13:20:20 +00:00
Kconfig gpio: mcp23s08: Fix build error when CONFIG_SPI_MASTER=y && CONFIG_I2C=m 2013-05-20 19:16:16 +02:00
Makefile ARM: arm-soc platform updates for 3.10, part 2 2013-05-07 10:57:51 -07:00