]> git.karo-electronics.de Git - linux-beck.git/commit
ACPI / PM: Resume runtime-suspended devices later during system suspend
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 26 Feb 2014 00:00:19 +0000 (01:00 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 3 Mar 2014 23:17:48 +0000 (00:17 +0100)
commit92858c476ec4e99cf0425f05dee109b6a55eb6f8
treef2ab9eff4f07f28bfaf345d8db44f4db7c74cf0e
parent0a9efc4d91df7b18fb3e97c24ee85a1529618899
ACPI / PM: Resume runtime-suspended devices later during system suspend

Runtime-suspended devices are resumed during system suspend by
acpi_subsys_prepare() for two reasons: First, because they may need
to be reprogrammed in order to change their wakeup settings and,
second, because they may need to be operatonal for their children
to be successfully suspended.  That is a problem, though, if there
are many runtime-suspended devices that need to be resumed this
way during system suspend, because the .prepare() PM callbacks of
devices are executed sequentially and the times taken by them
accumulate, which may increase the total system suspend time quite
a bit.

For this reason, move the resume of runtime-suspended devices up
to the next phase of device suspend (during system suspend), except
for the ones that have power.ignore_children set.  The exception is
made, because the devices with power.ignore_children set may still
be necessary for their children to be successfully suspended (during
system suspend) and they won't be resumed automatically as a result
of the runtime resume of their children.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/device_pm.c