diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/pm.h | 36 | 
1 files changed, 21 insertions, 15 deletions
diff --git a/include/linux/pm.h b/include/linux/pm.h index e6b9f29e27d..3342627e2bd 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h @@ -183,9 +183,9 @@ typedef struct pm_message {  struct dev_pm_info {  	pm_message_t		power_state;  	unsigned		can_wakeup:1; +	unsigned		should_wakeup:1;  	bool			sleeping:1;	/* Owned by the PM core */  #ifdef	CONFIG_PM_SLEEP -	unsigned		should_wakeup:1;  	struct list_head	entry;  #endif  }; @@ -198,11 +198,6 @@ extern void device_resume(void);  extern int device_suspend(pm_message_t state);  extern int device_prepare_suspend(pm_message_t state); -#define device_set_wakeup_enable(dev,val) \ -	((dev)->power.should_wakeup = !!(val)) -#define device_may_wakeup(dev) \ -	(device_can_wakeup(dev) && (dev)->power.should_wakeup) -  extern void __suspend_report_result(const char *function, void *fn, int ret);  #define suspend_report_result(fn, ret)					\ @@ -210,6 +205,24 @@ extern void __suspend_report_result(const char *function, void *fn, int ret);  		__suspend_report_result(__FUNCTION__, fn, ret);		\  	} while (0) +#else /* !CONFIG_PM_SLEEP */ + +static inline int device_suspend(pm_message_t state) +{ +	return 0; +} + +#define suspend_report_result(fn, ret) do { } while (0) + +#endif /* !CONFIG_PM_SLEEP */ + +#ifdef CONFIG_PM + +#define device_set_wakeup_enable(dev,val) \ +	((dev)->power.should_wakeup = !!(val)) +#define device_may_wakeup(dev) \ +	(device_can_wakeup(dev) && (dev)->power.should_wakeup) +  /*   * Platform hook to activate device wakeup capability, if that's not already   * handled by enable_irq_wake() etc. @@ -224,24 +237,17 @@ static inline int call_platform_enable_wakeup(struct device *dev, int is_on)  	return 0;  } -#else /* !CONFIG_PM_SLEEP */ - -static inline int device_suspend(pm_message_t state) -{ -	return 0; -} +#else /* !CONFIG_PM */  #define device_set_wakeup_enable(dev,val)	do{}while(0)  #define device_may_wakeup(dev)			(0) -#define suspend_report_result(fn, ret) do { } while (0) -  static inline int call_platform_enable_wakeup(struct device *dev, int is_on)  {  	return 0;  } -#endif /* !CONFIG_PM_SLEEP */ +#endif /* !CONFIG_PM */  /* changes to device_may_wakeup take effect on the next pm state change.   * by default, devices should wakeup if they can.  |