linux/kernel/power
Rafael J. Wysocki bb1869012d ACPI: PM: Call pm_set_suspend_via_firmware() during hibernation
On systems with ACPI platform firmware the last stage of hibernation
is analogous to system suspend to S3 (suspend-to-RAM), so it should
be handled analogously.  In particular, pm_suspend_via_firmware()
should return 'true' in that stage to let the callers of it know that
control will be passed to the platform firmware going forward, so
pm_set_suspend_via_firmware() needs to be called then in analogy with
acpi_suspend_begin().

However, the platform hibernation ->begin() callback is invoked
during the "freeze" transition (before creating a snapshot image of
system memory) as well as during the "hibernate" transition which is
the last stage of it and pm_set_suspend_via_firmware() should be
invoked by that callback in the latter stage only.

In order to implement that redefine the hibernation ->begin()
callback to take a pm_message_t argument to indicate which stage
of hibernation is taking place and rework acpi_hibernation_begin()
and acpi_hibernation_begin_old() to take it into account as needed.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2019-05-27 10:51:45 +02:00
..
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile PM: Introduce an Energy Model management framework 2018-12-11 15:16:58 +01:00
autosleep.c
console.c
energy_model.c PM / EM: Expose the Energy Model in debugfs 2019-01-23 23:07:57 +01:00
hibernate.c ACPI: PM: Call pm_set_suspend_via_firmware() during hibernation 2019-05-27 10:51:45 +02:00
main.c PM / sleep: Measure the time of filesystems syncing 2019-04-02 10:53:19 +02:00
power.h
poweroff.c
process.c PM / sleep: Show freezing tasks that caused a suspend abort 2018-09-10 12:09:10 +02:00
qos.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
snapshot.c mm/hibernation: Make hibernation handle unmapped pages 2019-04-30 12:37:57 +02:00
suspend.c Power management updates for 5.2-rc1 2019-05-06 19:40:31 -07:00
suspend_test.c
swap.c PM / hibernate: cast PAGE_SIZE to int when comparing with error code 2018-07-02 11:48:30 +02:00
user.c PM / sleep: Refactor filesystems sync to reduce duplication 2019-04-02 10:53:19 +02:00
wakelock.c