summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlbin Tonnerre <albin.tonnerre@free-electrons.com>2009-08-05 23:59:59 +0200
committerRafael J. Wysocki <rjw@sisk.pl>2009-09-14 20:27:00 +0200
commit9d62ec6ca71d71c8a0d2cb1004f476d33f668955 (patch)
tree9add05fac4a177024f6de235b5d9b82054e24b27
parenthp-wmi: Switch driver to dev_pm_ops (diff)
downloadlinux-9d62ec6ca71d71c8a0d2cb1004f476d33f668955.tar.xz
linux-9d62ec6ca71d71c8a0d2cb1004f476d33f668955.zip
PM: Add convenience macro to make switching to dev_pm_ops less error-prone
In a number of cases, the .suspend, .freeze, .poweroff and .resume, .thaw, .restore functions are identical. However, they all need to be assigned to avoid regressionsm as the previous code called .suspend resp. .resume in all those cases. SIMPLE_DEV_PM_OPS helps to deal with this case. [rjw: Changed the name of the macro and added the comment explaining its purpose.] Signed-off-by: Albin Tonnerre <albin.tonnerre@free-electrons.com> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
-rw-r--r--include/linux/pm.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/pm.h b/include/linux/pm.h
index 2b6e20df0e52..3b7e04b95bd2 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -213,6 +213,20 @@ struct dev_pm_ops {
int (*runtime_idle)(struct device *dev);
};
+/*
+ * Use this if you want to use the same suspend and resume callbacks for suspend
+ * to RAM and hibernation.
+ */
+#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, \
+}
+
/**
* PM_EVENT_ messages
*