summaryrefslogtreecommitdiff
path: root/include/linux/pm.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/pm.h')
-rw-r--r--include/linux/pm.h101
1 files changed, 3 insertions, 98 deletions
diff --git a/include/linux/pm.h b/include/linux/pm.h
index 3b7e04b95bd2..0b40736b666a 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -22,10 +22,6 @@
#define _LINUX_PM_H
#include <linux/list.h>
-#include <linux/workqueue.h>
-#include <linux/spinlock.h>
-#include <linux/wait.h>
-#include <linux/timer.h>
/*
* Callbacks for platform drivers to implement.
@@ -169,28 +165,6 @@ typedef struct pm_message {
* It is allowed to unregister devices while the above callbacks are being
* executed. However, it is not allowed to unregister a device from within any
* of its own callbacks.
- *
- * There also are the following callbacks related to run-time power management
- * of devices:
- *
- * @runtime_suspend: Prepare the device for a condition in which it won't be
- * able to communicate with the CPU(s) and RAM due to power management.
- * This need not mean that the device should be put into a low power state.
- * For example, if the device is behind a link which is about to be turned
- * off, the device may remain at full power. If the device does go to low
- * power and if device_may_wakeup(dev) is true, remote wake-up (i.e., a
- * hardware mechanism allowing the device to request a change of its power
- * state, such as PCI PME) should be enabled for it.
- *
- * @runtime_resume: Put the device into the fully active state in response to a
- * wake-up event generated by hardware or at the request of software. If
- * necessary, put the device into the full power state and restore its
- * registers, so that it is fully operational.
- *
- * @runtime_idle: Device appears to be inactive and it might be put into a low
- * power state if all of the necessary conditions are satisfied. Check
- * these conditions and handle the device as appropriate, possibly queueing
- * a suspend request for it. The return value is ignored by the PM core.
*/
struct dev_pm_ops {
@@ -208,9 +182,6 @@ struct dev_pm_ops {
int (*thaw_noirq)(struct device *dev);
int (*poweroff_noirq)(struct device *dev);
int (*restore_noirq)(struct device *dev);
- int (*runtime_suspend)(struct device *dev);
- int (*runtime_resume)(struct device *dev);
- int (*runtime_idle)(struct device *dev);
};
/*
@@ -358,80 +329,14 @@ enum dpm_state {
DPM_OFF_IRQ,
};
-/**
- * Device run-time power management status.
- *
- * These status labels are used internally by the PM core to indicate the
- * current status of a device with respect to the PM core operations. They do
- * not reflect the actual power state of the device or its status as seen by the
- * driver.
- *
- * RPM_ACTIVE Device is fully operational. Indicates that the device
- * bus type's ->runtime_resume() callback has completed
- * successfully.
- *
- * RPM_SUSPENDED Device bus type's ->runtime_suspend() callback has
- * completed successfully. The device is regarded as
- * suspended.
- *
- * RPM_RESUMING Device bus type's ->runtime_resume() callback is being
- * executed.
- *
- * RPM_SUSPENDING Device bus type's ->runtime_suspend() callback is being
- * executed.
- */
-
-enum rpm_status {
- RPM_ACTIVE = 0,
- RPM_RESUMING,
- RPM_SUSPENDED,
- RPM_SUSPENDING,
-};
-
-/**
- * Device run-time power management request types.
- *
- * RPM_REQ_NONE Do nothing.
- *
- * RPM_REQ_IDLE Run the device bus type's ->runtime_idle() callback
- *
- * RPM_REQ_SUSPEND Run the device bus type's ->runtime_suspend() callback
- *
- * RPM_REQ_RESUME Run the device bus type's ->runtime_resume() callback
- */
-
-enum rpm_request {
- RPM_REQ_NONE = 0,
- RPM_REQ_IDLE,
- RPM_REQ_SUSPEND,
- RPM_REQ_RESUME,
-};
-
struct dev_pm_info {
pm_message_t power_state;
- unsigned int can_wakeup:1;
- unsigned int should_wakeup:1;
+ unsigned can_wakeup:1;
+ unsigned should_wakeup:1;
enum dpm_state status; /* Owned by the PM core */
-#ifdef CONFIG_PM_SLEEP
+#ifdef CONFIG_PM_SLEEP
struct list_head entry;
#endif
-#ifdef CONFIG_PM_RUNTIME
- struct timer_list suspend_timer;
- unsigned long timer_expires;
- struct work_struct work;
- wait_queue_head_t wait_queue;
- spinlock_t lock;
- atomic_t usage_count;
- atomic_t child_count;
- unsigned int disable_depth:3;
- unsigned int ignore_children:1;
- unsigned int idle_notification:1;
- unsigned int request_pending:1;
- unsigned int deferred_resume:1;
- enum rpm_request request;
- enum rpm_status runtime_status;
- int runtime_error;
-#endif
};
/*