History

ACPI: PM: Simplify and fix PM domain hibernation callbacks

First, after a previous change causing all runtime-suspended devices in the ACPI PM domain (and ACPI LPSS devices) to be resumed before creating a snapshot image of memory during hibernation, it is not necessary to worry about the case in which them might be left in runtime-suspend any more, so get rid of the code related to that from ACPI PM domain and ACPI LPSS hibernation callbacks. Second, it is not correct to use pm_generic_resume_early() and acpi_subsys_resume_noirq() in hibernation "restore" callbacks (which currently happens in the ACPI PM domain and ACPI LPSS), so introduce proper _restore_late and _restore_noirq callbacks for the ACPI PM domain and ACPI LPSS.

Rafael J. Wysocki committed 7 years ago

Commit 3cd79571 parent a78ae453 files · +61 −71Browse files

Showing the changes to include/linux (1 of 3 files). Show all

Unified · Split

include/linux/acpi.h+0−10
@@ -918,26 +918,16 @@ int acpi_subsys_prepare(struct device *dev); · 917 unmodified lines
918void acpi_subsys_complete(struct device *dev);918void acpi_subsys_complete(struct device *dev);
919int acpi_subsys_suspend_late(struct device *dev);919int acpi_subsys_suspend_late(struct device *dev);
920int acpi_subsys_suspend_noirq(struct device *dev);920int acpi_subsys_suspend_noirq(struct device *dev);
921int acpi_subsys_resume_noirq(struct device *dev);
922int acpi_subsys_resume_early(struct device *dev);
923int acpi_subsys_suspend(struct device *dev);921int acpi_subsys_suspend(struct device *dev);
924int acpi_subsys_freeze(struct device *dev);922int acpi_subsys_freeze(struct device *dev);
925int acpi_subsys_freeze_late(struct device *dev);
926int acpi_subsys_freeze_noirq(struct device *dev);
927int acpi_subsys_thaw_noirq(struct device *dev);
928#else923#else
929static inline int acpi_dev_resume_early(struct device *dev) { return 0; }924static inline int acpi_dev_resume_early(struct device *dev) { return 0; }
930static inline int acpi_subsys_prepare(struct device *dev) { return 0; }925static inline int acpi_subsys_prepare(struct device *dev) { return 0; }
931static inline void acpi_subsys_complete(struct device *dev) {}926static inline void acpi_subsys_complete(struct device *dev) {}
932static inline int acpi_subsys_suspend_late(struct device *dev) { return 0; }927static inline int acpi_subsys_suspend_late(struct device *dev) { return 0; }
933static inline int acpi_subsys_suspend_noirq(struct device *dev) { return 0; }928static inline int acpi_subsys_suspend_noirq(struct device *dev) { return 0; }
934static inline int acpi_subsys_resume_noirq(struct device *dev) { return 0; }
935static inline int acpi_subsys_resume_early(struct device *dev) { return 0; }
936static inline int acpi_subsys_suspend(struct device *dev) { return 0; }929static inline int acpi_subsys_suspend(struct device *dev) { return 0; }
937static inline int acpi_subsys_freeze(struct device *dev) { return 0; }930static inline int acpi_subsys_freeze(struct device *dev) { return 0; }
938static inline int acpi_subsys_freeze_late(struct device *dev) { return 0; }
939static inline int acpi_subsys_freeze_noirq(struct device *dev) { return 0; }
940static inline int acpi_subsys_thaw_noirq(struct device *dev) { return 0; }
941#endif931#endif
942 932
943#ifdef CONFIG_ACPI933#ifdef CONFIG_ACPI

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t