PM / sleep: enable suspend-to-idle even without registered suspend_ops
authorSudeep Holla <Sudeep.Holla@arm.com>
Fri, 19 Aug 2016 13:41:00 +0000 (14:41 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 13 Sep 2016 00:17:19 +0000 (02:17 +0200)
commitfa7fd6fa38e36d88bc9f2d0e45e5b9bd0387079f
tree21c9156a38c00468ba0b3a332282f101055f03c4
parent5b3f249c94ce1f46bacd9814385b0ee2d1ae52f3
PM / sleep: enable suspend-to-idle even without registered suspend_ops

Suspend-to-idle (aka the "freeze" sleep state) is a system sleep state
in which all of the processors enter deepest possible idle state and
wait for interrupts right after suspending all the devices.

There is no hard requirement for a platform to support and register
platform specific suspend_ops to enter suspend-to-idle/freeze state.
Only deeper system sleep states like PM_SUSPEND_STANDBY and
PM_SUSPEND_MEM rely on such low level support/implementation.

suspend-to-idle can be entered as along as all the devices can be
suspended. This patch enables the support for suspend-to-idle even on
systems that don't have any low level support for deeper system sleep
states and/or don't register any platform specific suspend_ops.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Tested-by: Andy Gross <andy.gross@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
include/linux/suspend.h
kernel/power/main.c
kernel/power/suspend.c