11 #include <linux/export.h>
13 #ifdef CONFIG_PM_RUNTIME
22 int pm_generic_runtime_idle(
struct device *
dev)
32 pm_runtime_suspend(dev);
45 int pm_generic_runtime_suspend(
struct device *dev)
64 int pm_generic_runtime_resume(
struct device *dev)
76 #ifdef CONFIG_PM_SLEEP
88 if (drv && drv->
pm && drv->
pm->prepare)
89 ret = drv->
pm->prepare(dev);
98 int pm_generic_suspend_noirq(
struct device *dev)
110 int pm_generic_suspend_late(
struct device *dev)
134 int pm_generic_freeze_noirq(
struct device *dev)
146 int pm_generic_freeze_late(
struct device *dev)
170 int pm_generic_poweroff_noirq(
struct device *dev)
182 int pm_generic_poweroff_late(
struct device *dev)
206 int pm_generic_thaw_noirq(
struct device *dev)
218 int pm_generic_thaw_early(
struct device *dev)
234 return pm && pm->
thaw ? pm->
thaw(dev) : 0;
242 int pm_generic_resume_noirq(
struct device *dev)
254 int pm_generic_resume_early(
struct device *dev)
278 int pm_generic_restore_noirq(
struct device *dev)
290 int pm_generic_restore_early(
struct device *dev)
320 if (drv && drv->
pm && drv->
pm->complete)
321 drv->
pm->complete(dev);
327 pm_runtime_idle(dev);