diff options
Diffstat (limited to 'include/linux/pm.h')
| -rw-r--r-- | include/linux/pm.h | 39 | 
1 files changed, 24 insertions, 15 deletions
diff --git a/include/linux/pm.h b/include/linux/pm.h index 512e09177e5..3160648ccdd 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h @@ -460,6 +460,7 @@ struct dev_pm_info {  	unsigned long		active_jiffies;  	unsigned long		suspended_jiffies;  	unsigned long		accounting_timestamp; +	void			*subsys_data;  /* Owned by the subsystem. */  #endif  }; @@ -529,21 +530,17 @@ struct dev_power_domain {   */  #ifdef CONFIG_PM_SLEEP -#ifndef CONFIG_ARCH_NO_SYSDEV_OPS -extern int sysdev_suspend(pm_message_t state); -extern int sysdev_resume(void); -#else -static inline int sysdev_suspend(pm_message_t state) { return 0; } -static inline int sysdev_resume(void) { return 0; } -#endif -  extern void device_pm_lock(void);  extern void dpm_resume_noirq(pm_message_t state);  extern void dpm_resume_end(pm_message_t state); +extern void dpm_resume(pm_message_t state); +extern void dpm_complete(pm_message_t state);  extern void device_pm_unlock(void);  extern int dpm_suspend_noirq(pm_message_t state);  extern int dpm_suspend_start(pm_message_t state); +extern int dpm_suspend(pm_message_t state); +extern int dpm_prepare(pm_message_t state);  extern void __suspend_report_result(const char *function, void *fn, int ret); @@ -553,6 +550,16 @@ extern void __suspend_report_result(const char *function, void *fn, int ret);  	} while (0)  extern int device_pm_wait_for_dev(struct device *sub, struct device *dev); + +extern int pm_generic_prepare(struct device *dev); +extern int pm_generic_suspend(struct device *dev); +extern int pm_generic_resume(struct device *dev); +extern int pm_generic_freeze(struct device *dev); +extern int pm_generic_thaw(struct device *dev); +extern int pm_generic_restore(struct device *dev); +extern int pm_generic_poweroff(struct device *dev); +extern void pm_generic_complete(struct device *dev); +  #else /* !CONFIG_PM_SLEEP */  #define device_pm_lock() do {} while (0) @@ -569,6 +576,15 @@ static inline int device_pm_wait_for_dev(struct device *a, struct device *b)  {  	return 0;  } + +#define pm_generic_prepare	NULL +#define pm_generic_suspend	NULL +#define pm_generic_resume	NULL +#define pm_generic_freeze	NULL +#define pm_generic_thaw		NULL +#define pm_generic_restore	NULL +#define pm_generic_poweroff	NULL +#define pm_generic_complete	NULL  #endif /* !CONFIG_PM_SLEEP */  /* How to reorder dpm_list after device_move() */ @@ -579,11 +595,4 @@ enum dpm_order {  	DPM_ORDER_DEV_LAST,  }; -extern int pm_generic_suspend(struct device *dev); -extern int pm_generic_resume(struct device *dev); -extern int pm_generic_freeze(struct device *dev); -extern int pm_generic_thaw(struct device *dev); -extern int pm_generic_restore(struct device *dev); -extern int pm_generic_poweroff(struct device *dev); -  #endif /* _LINUX_PM_H */  |