diff options
Diffstat (limited to 'include/linux/pm.h')
| -rw-r--r-- | include/linux/pm.h | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/pm.h b/include/linux/pm.h index 8e258c72797..52e8c55ff31 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h @@ -457,6 +457,7 @@ struct dev_pm_info {  #ifdef CONFIG_PM_SLEEP  	struct list_head	entry;  	struct completion	completion; +	unsigned long		wakeup_count;  #endif  #ifdef CONFIG_PM_RUNTIME  	struct timer_list	suspend_timer; @@ -476,9 +477,15 @@ struct dev_pm_info {  	enum rpm_request	request;  	enum rpm_status		runtime_status;  	int			runtime_error; +	unsigned long		active_jiffies; +	unsigned long		suspended_jiffies; +	unsigned long		accounting_timestamp;  #endif  }; +extern void update_pm_runtime_accounting(struct device *dev); + +  /*   * The PM_EVENT_ messages are also used by drivers implementing the legacy   * suspend framework, based on the ->suspend() and ->resume() callbacks common @@ -552,6 +559,11 @@ extern void __suspend_report_result(const char *function, void *fn, int ret);  	} while (0)  extern void device_pm_wait_for_dev(struct device *sub, struct device *dev); + +/* drivers/base/power/wakeup.c */ +extern void pm_wakeup_event(struct device *dev, unsigned int msec); +extern void pm_stay_awake(struct device *dev); +extern void pm_relax(void);  #else /* !CONFIG_PM_SLEEP */  #define device_pm_lock() do {} while (0) @@ -565,6 +577,10 @@ static inline int dpm_suspend_start(pm_message_t state)  #define suspend_report_result(fn, ret)		do {} while (0)  static inline void device_pm_wait_for_dev(struct device *a, struct device *b) {} + +static inline void pm_wakeup_event(struct device *dev, unsigned int msec) {} +static inline void pm_stay_awake(struct device *dev) {} +static inline void pm_relax(void) {}  #endif /* !CONFIG_PM_SLEEP */  /* How to reorder dpm_list after device_move() */  |