summaryrefslogtreecommitdiffstats
path: root/include/linux/acpi.h
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2019-07-01 06:54:10 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2019-07-02 18:13:24 -0400
commit3cd7957e85e67120bb9f6bfb75d81dcc19af282b (patch)
treeb5e9da69765e55e66f9162d502b726fc273614fe /include/linux/acpi.h
parenta78ae45a795aa579efa4094729073bbdab02da25 (diff)
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. Fixes: 05087360fd7a (ACPI / PM: Take SMART_SUSPEND driver flag into account) Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'include/linux/acpi.h')
-rw-r--r--include/linux/acpi.h10
1 files changed, 0 insertions, 10 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index d315d86844e4..ea7415440901 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -918,26 +918,16 @@ int acpi_subsys_prepare(struct device *dev);
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#else 923#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#endif 931#endif
942 932
943#ifdef CONFIG_ACPI 933#ifdef CONFIG_ACPI