summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorPatrick Mochel <mochel@osdl.org>2003-08-20 21:01:44 -0700
committerPatrick Mochel <mochel@osdl.org>2003-08-20 21:01:44 -0700
commitf5268fced03b1ecb2e9dacd98e6b4cd2d8a24d12 (patch)
tree3a4422fdb77334e4ddd36eca8c355daa3a309a02 /include/linux
parentbe974925bc048c419f66e49b3744d98208e54831 (diff)
parent0e59015ed95379b0b7afcaec630a8b8387e07327 (diff)
Merge osdl.org:/home/mochel/src/kernel/linux-2.5-virgin
into osdl.org:/home/mochel/src/kernel/linux-2.5-power
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/pm.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/linux/pm.h b/include/linux/pm.h
index e4c795f71cea..15b3f5efa692 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -186,9 +186,36 @@ static inline void pm_dev_idle(struct pm_dev *dev) {}
#endif /* CONFIG_PM */
+
+/*
+ * Callbacks for platform drivers to implement.
+ */
extern void (*pm_idle)(void);
extern void (*pm_power_off)(void);
+enum {
+ PM_SUSPEND_ON,
+ PM_SUSPEND_STANDBY,
+ PM_SUSPEND_MEM,
+ PM_SUSPEND_DISK,
+ PM_SUSPEND_MAX,
+};
+
+struct pm_ops {
+ int (*prepare)(u32 state);
+ int (*enter)(u32 state);
+ int (*finish)(u32 state);
+};
+
+extern void pm_set_ops(struct pm_ops *);
+
+extern int pm_suspend(u32 state);
+
+
+/*
+ * Device power management
+ */
+
struct device;
struct dev_pm_info {