From ddd86436f4e3643c04b797f858dab95d5f2e4de9 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 25 Dec 2015 15:00:15 +0000 Subject: fish --- backport-include/linux/pm.h | 70 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 backport-include/linux/pm.h (limited to 'backport-include/linux/pm.h') diff --git a/backport-include/linux/pm.h b/backport-include/linux/pm.h new file mode 100644 index 0000000..70f3a21 --- /dev/null +++ b/backport-include/linux/pm.h @@ -0,0 +1,70 @@ +#ifndef __BACKPORT_PM_H +#define __BACKPORT_PM_H +#include_next + +#ifndef PM_EVENT_SLEEP +#define PM_EVENT_SLEEP (PM_EVENT_SUSPEND) +#endif + +#ifndef PMSG_IS_AUTO +#define PMSG_IS_AUTO(msg) (((msg).event & PM_EVENT_AUTO) != 0) +#endif + +#if LINUX_VERSION_CODE == KERNEL_VERSION(2,6,32) +#undef SIMPLE_DEV_PM_OPS +#define SIMPLE_DEV_PM_OPS(name, suspend_fn, resume_fn) \ +const struct dev_pm_ops name = { \ + .suspend = suspend_fn, \ + .resume = resume_fn, \ + .freeze = suspend_fn, \ + .thaw = resume_fn, \ + .poweroff = suspend_fn, \ + .restore = resume_fn, \ +} +#endif /* 2.6.32 */ + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32) +/* + * dev_pm_ops is only available on kernels >= 2.6.29, for + * older kernels we rely on reverting the work to old + * power management style stuff. On 2.6.29 the pci calls + * weren't included yet though, so include them here. + */ +#if LINUX_VERSION_CODE == KERNEL_VERSION(2,6,29) +#define SIMPLE_DEV_PM_OPS(name, suspend_fn, resume_fn) \ +struct dev_pm_ops name = { \ + .suspend = suspend_fn ## _compat, \ + .resume = resume_fn ## _compat, \ + .freeze = suspend_fn ## _compat, \ + .thaw = resume_fn ## _compat, \ + .poweroff = suspend_fn ## _compat, \ + .restore = resume_fn ## _compat, \ +} +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30) +#define SIMPLE_DEV_PM_OPS(name, suspend_fn, resume_fn) \ +struct dev_pm_ops name = { \ + .suspend = suspend_fn, \ + .resume = resume_fn, \ + .freeze = suspend_fn, \ + .thaw = resume_fn, \ + .poweroff = suspend_fn, \ + .restore = resume_fn, \ +} +#else +#define ___BACKPORT_PASTE(a, b) a##b +#define __BACKPORT_PASTE(a, b) ___BACKPORT_PASTE(a,b) +#define SIMPLE_DEV_PM_OPS(name, suspend_fn, resume_fn) \ + struct {} __maybe_unused __BACKPORT_PASTE(__backport_avoid_warning_, __LINE__) +#endif /* >= 2.6.29 */ +#endif /* < 2.6.32 */ + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30) +enum dpm_order { + DPM_ORDER_NONE, + DPM_ORDER_DEV_AFTER_PARENT, + DPM_ORDER_PARENT_BEFORE_DEV, + DPM_ORDER_DEV_LAST, +}; +#endif + +#endif /* __BACKPORT_PM_H */ -- cgit v1.2.3