diff options
| -rw-r--r-- | include/linux/suspend.h | 36 | 
1 files changed, 16 insertions, 20 deletions
| diff --git a/include/linux/suspend.h b/include/linux/suspend.h index 906d62cfc15c..95040cc33107 100644 --- a/include/linux/suspend.h +++ b/include/linux/suspend.h @@ -332,6 +332,8 @@ static inline bool system_entering_hibernation(void) { return false; }  #define PM_RESTORE_PREPARE	0x0005 /* Going to restore a saved image */  #define PM_POST_RESTORE		0x0006 /* Restore failed */ +extern struct mutex pm_mutex; +  #ifdef CONFIG_PM_SLEEP  void save_processor_state(void);  void restore_processor_state(void); @@ -352,6 +354,19 @@ extern bool events_check_enabled;  extern bool pm_wakeup_pending(void);  extern bool pm_get_wakeup_count(unsigned int *count);  extern bool pm_save_wakeup_count(unsigned int count); + +static inline void lock_system_sleep(void) +{ +	freezer_do_not_count(); +	mutex_lock(&pm_mutex); +} + +static inline void unlock_system_sleep(void) +{ +	mutex_unlock(&pm_mutex); +	freezer_count(); +} +  #else /* !CONFIG_PM_SLEEP */  static inline int register_pm_notifier(struct notifier_block *nb) @@ -367,30 +382,11 @@ static inline int unregister_pm_notifier(struct notifier_block *nb)  #define pm_notifier(fn, pri)	do { (void)(fn); } while (0)  static inline bool pm_wakeup_pending(void) { return false; } -#endif /* !CONFIG_PM_SLEEP */ - -extern struct mutex pm_mutex; -#ifndef CONFIG_HIBERNATE_CALLBACKS  static inline void lock_system_sleep(void) {}  static inline void unlock_system_sleep(void) {} -#else - -/* Let some subsystems like memory hotadd exclude hibernation */ - -static inline void lock_system_sleep(void) -{ -	freezer_do_not_count(); -	mutex_lock(&pm_mutex); -} - -static inline void unlock_system_sleep(void) -{ -	mutex_unlock(&pm_mutex); -	freezer_count(); -} -#endif +#endif /* !CONFIG_PM_SLEEP */  #ifdef CONFIG_ARCH_SAVE_PAGE_KEYS  /* | 
