Files
linux/drivers
Rafael J. Wysocki 107d47b2b9 PM: sleep: core: Simplify the SMART_SUSPEND flag handling
The code to handle the SMART_SUSPEND driver PM flag is hard to follow
and somewhat inconsistent with respect to devices without middle-layer
(subsystem) callbacks.

Namely, for those devices the core takes the role of a middle layer
in providing the expected ordering of execution of callbacks (under
the assumption that the drivers setting SMART_SUSPEND can reuse their
PM-runtime callbacks directly for system-wide suspend).  To that end,
it prevents driver ->suspend_late and ->suspend_noirq callbacks from
being executed for devices that are still runtime-suspended in
__device_suspend_late(), because running the same callback funtion
that was previously run by PM-runtime for them may be invalid.

However, it does that only for devices without any middle-layer
callbacks for the late/noirq/early suspend/resume phases even
though it would be simpler and more consistent to skip the
driver-lavel callbacks for all devices with SMART_SUSPEND set
that are runtime-suspended in __device_suspend_late().

Simplify the code in accordance with the above observation.

Suggested-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
2020-04-20 10:32:15 +02:00
..
2020-03-23 07:59:38 +01:00
2020-04-10 11:32:22 +02:00
2020-04-04 18:07:59 -07:00
2020-04-16 13:52:31 -07:00
2020-03-19 23:04:32 -05:00
2020-04-10 15:36:21 -07:00
2020-03-23 08:04:08 +01:00
2020-04-02 10:41:40 -04:00
2020-04-02 10:41:40 -04:00
2020-03-19 07:41:03 +01:00