linux/arch
Rafael J. Wysocki e83e9aef51 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>
2014-03-07 12:52:24 +08:00
..
alpha asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
arc asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
arm PM / Runtime: Rework the "runtime idle" helper routine 2014-03-07 12:52:24 +08:00
arm64 Merge remote-tracking branch 'origin/upstream/linux-linaro-lsk-v3.10-android' into develop-3.10 2014-02-10 16:23:36 +08:00
avr32 This is the 3.10.23 stable release 2013-12-10 12:23:21 +08:00
blackfin asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
c6x asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
cris Merge remote-tracking branch 'origin/upstream/linux-linaro-lsk-v3.10-android+android-common-3.10' into develop-3.10 2013-12-10 12:14:30 +08:00
frv asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
h8300 asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
hexagon asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
ia64 Merge remote-tracking branch 'origin/upstream/linux-linaro-lsk-v3.10-android+android-common-3.10' into develop-3.10 2013-12-10 12:14:30 +08:00
m32r asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
m68k asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
metag asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
microblaze asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
mips Merge remote-tracking branch 'origin/upstream/linux-linaro-lsk-v3.10-android' into develop-3.10 2014-02-10 16:23:36 +08:00
mn10300 asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
openrisc asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
parisc Merge remote-tracking branch 'origin/upstream/linux-linaro-lsk-v3.10-android' into develop-3.10 2014-02-10 16:23:36 +08:00
powerpc Merge remote-tracking branch 'origin/upstream/linux-linaro-lsk-v3.10-android' into develop-3.10 2014-02-10 16:23:36 +08:00
s390 Merge remote-tracking branch 'origin/upstream/linux-linaro-lsk-v3.10-android' into develop-3.10 2013-12-16 14:23:41 +08:00
score asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
sh Merge remote-tracking branch 'origin/upstream/linux-linaro-lsk-v3.10-android' into develop-3.10 2014-02-10 16:23:36 +08:00
sparc Merge remote-tracking branch 'origin/upstream/linux-linaro-lsk-v3.10-android' into develop-3.10 2014-02-10 16:23:36 +08:00
tile asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
um asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
unicore32 asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
x86 Merge remote-tracking branch 'origin/upstream/linux-linaro-lsk-v3.10-android' into develop-3.10 2014-02-10 16:23:36 +08:00
xtensa asm-generic: fncpy: Add function copying macros 2013-11-21 13:39:20 +08:00
.gitignore
Kconfig microblaze: fix clone syscall 2013-08-20 08:43:02 -07:00