Files
linux/Documentation
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
..
2011-09-27 18:08:04 +02:00
2010-02-24 13:51:32 +01:00
2012-04-03 13:09:18 +02:00
2012-10-08 13:50:12 +10:30
2011-09-27 18:08:04 +02:00
2012-12-14 08:48:59 +01:00
2013-07-25 14:07:28 -07:00
2013-04-02 09:39:55 -07:00
2013-03-02 20:09:50 +00:00
2011-03-31 11:26:23 -03:00
2013-01-10 01:27:46 +01:00
2013-04-27 16:41:43 -07:00
2010-04-08 11:34:34 +02:00
2008-12-03 16:09:53 -07:00
2008-07-25 10:53:30 -07:00
2011-03-31 11:26:23 -03:00
2012-07-29 21:11:05 -03:00
2013-04-16 18:47:19 +09:00
2012-12-10 15:54:27 +01:00
2005-04-16 15:20:36 -07:00
2012-12-05 23:52:10 +00:00
2011-03-31 11:26:23 -03:00
2005-04-16 15:20:36 -07:00
2011-09-27 18:08:04 +02:00
2009-07-01 22:36:22 +02:00
2013-02-19 08:42:37 +01:00
2009-04-27 12:00:27 -07:00
2009-04-27 12:00:27 -07:00
2013-04-24 11:42:42 +10:00
2012-02-28 16:05:06 +01:00
2005-04-16 15:20:36 -07:00
2011-09-27 18:08:04 +02:00
2006-06-27 17:32:47 -07:00
2011-03-31 11:26:23 -03:00
2005-06-21 18:46:32 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2013-07-01 14:16:12 -07:00
2010-03-16 11:47:56 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2012-01-02 13:04:55 +01:00
2005-04-16 15:20:36 -07:00