diff options
Diffstat (limited to 'include/linux/pm.h')
| -rw-r--r-- | include/linux/pm.h | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/pm.h b/include/linux/pm.h index 198b8f9fe05..e80df06ad22 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h @@ -26,6 +26,7 @@  #include <linux/spinlock.h>  #include <linux/wait.h>  #include <linux/timer.h> +#include <linux/completion.h>  /*   * Callbacks for platform drivers to implement. @@ -412,9 +413,11 @@ struct dev_pm_info {  	pm_message_t		power_state;  	unsigned int		can_wakeup:1;  	unsigned int		should_wakeup:1; +	unsigned		async_suspend:1;  	enum dpm_state		status;		/* Owned by the PM core */  #ifdef CONFIG_PM_SLEEP  	struct list_head	entry; +	struct completion	completion;  #endif  #ifdef CONFIG_PM_RUNTIME  	struct timer_list	suspend_timer; @@ -430,6 +433,7 @@ struct dev_pm_info {  	unsigned int		request_pending:1;  	unsigned int		deferred_resume:1;  	unsigned int		run_wake:1; +	unsigned int		runtime_auto:1;  	enum rpm_request	request;  	enum rpm_status		runtime_status;  	int			runtime_error; @@ -508,6 +512,7 @@ extern void __suspend_report_result(const char *function, void *fn, int ret);  		__suspend_report_result(__func__, fn, ret);		\  	} while (0) +extern void device_pm_wait_for_dev(struct device *sub, struct device *dev);  #else /* !CONFIG_PM_SLEEP */  #define device_pm_lock() do {} while (0) @@ -520,6 +525,7 @@ 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) {}  #endif /* !CONFIG_PM_SLEEP */  /* How to reorder dpm_list after device_move() */  |