Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

PM: suspend: Fix pm_suspend_target_state handling for !CONFIG_PM

Move the pm_suspend_target_state definition for CONFIG_SUSPEND
unset from the wakeup code into the headers so as to allow it
to still be used elsewhere when CONFIG_SUSPEND is not set.

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
[ rjw: Changelog and subject edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

authored by

Kai-Heng Feng and committed by
Rafael J. Wysocki
2e41e3ca 44c026a7

+3 -6
-5
drivers/base/power/wakeup.c
··· 19 19 20 20 #include "power.h" 21 21 22 - #ifndef CONFIG_SUSPEND 23 - suspend_state_t pm_suspend_target_state; 24 - #define pm_suspend_target_state (PM_SUSPEND_ON) 25 - #endif 26 - 27 22 #define list_for_each_entry_rcu_locked(pos, head, member) \ 28 23 list_for_each_entry_rcu(pos, head, member, \ 29 24 srcu_read_lock_held(&wakeup_srcu))
+3 -1
include/linux/suspend.h
··· 202 202 }; 203 203 204 204 #ifdef CONFIG_SUSPEND 205 + extern suspend_state_t pm_suspend_target_state; 205 206 extern suspend_state_t mem_sleep_current; 206 207 extern suspend_state_t mem_sleep_default; 207 208 ··· 337 336 extern bool sync_on_suspend_enabled; 338 337 #else /* !CONFIG_SUSPEND */ 339 338 #define suspend_valid_only_mem NULL 339 + 340 + #define pm_suspend_target_state (PM_SUSPEND_ON) 340 341 341 342 static inline void pm_suspend_clear_flags(void) {} 342 343 static inline void pm_set_suspend_via_firmware(void) {} ··· 506 503 507 504 /* drivers/base/power/wakeup.c */ 508 505 extern bool events_check_enabled; 509 - extern suspend_state_t pm_suspend_target_state; 510 506 511 507 extern bool pm_wakeup_pending(void); 512 508 extern void pm_system_wakeup(void);