linux/drivers/base/power
Rafael J. Wysocki 80de3d7f41 PM / Domains: Do not stop devices after restoring their states
While resuming a device belonging to a PM domain,
pm_genpd_runtime_resume() calls __pm_genpd_restore_device() to
restore its state, if necessary.  The latter starts the device,
using genpd_start_dev(), restores its state, using
genpd_restore_dev(), and then stops it, using genpd_stop_dev().
However, this last operation is not necessary, because the
device is supposed to be operational after pm_genpd_runtime_resume()
has returned and because of it pm_genpd_runtime_resume() has to
call genpd_start_dev() once again for the "restored" device, which
is inefficient.

To make things more efficient, remove the call to genpd_stop_dev()
from __pm_genpd_restore_device() and the direct call to
genpd_start_dev() from pm_genpd_runtime_resume().  [Of course,
genpd_start_dev() still has to be called by it for devices with the
power.irq_safe flag set, because __pm_genpd_restore_device() is not
executed for them.]

This change has been tested on the SH7372 Mackerel board.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2012-07-01 13:31:29 +02:00
..
clock_ops.c device.h: cleanup users outside of linux/include (C files) 2012-03-11 14:27:37 -04:00
common.c device.h: cleanup users outside of linux/include (C files) 2012-03-11 14:27:37 -04:00
domain_governor.c PM / Domains: Fix computation of maximum domain off time 2012-05-11 21:11:44 +02:00
domain.c PM / Domains: Do not stop devices after restoring their states 2012-07-01 13:31:29 +02:00
generic_ops.c PM / Sleep: Introduce generic callbacks for new device PM phases 2012-01-29 20:38:41 +01:00
main.c PM / Sleep: Prevent waiting forever on asynchronous suspend after abort 2012-06-24 23:31:09 +02:00
Makefile PM / Domains: Add device stop governor function (v4) 2011-12-01 21:47:40 +01:00
opp.c device.h: cleanup users outside of linux/include (C files) 2012-03-11 14:27:37 -04:00
power.h PM / QoS: Make it possible to expose PM QoS latency constraints 2012-03-13 22:37:14 +01:00
qos.c PM / QoS: Create device constraints objects on notifier registration 2012-05-01 21:28:43 +02:00
runtime.c PM / Runtime: Remove device fields related to suspend time, v2 2012-05-01 21:28:38 +02:00
sysfs.c PM / Sleep: Add "prevent autosleep time" statistics to wakeup sources 2012-05-01 21:25:49 +02:00
trace.c drivers/base: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required. 2011-10-31 19:31:38 -04:00
wakeup.c PM / Sleep: Add user space interface for manipulating wakeup sources, v3 2012-05-01 21:26:05 +02:00