Skip to content

Commit b5b378d

Browse files
rafaeljwgregkh
authored andcommitted
PM: hibernate: Fix pm_hibernation_mode_is_suspend() build breakage
commit bbfe987c5a2854705393ad79813074e5eadcbde6 upstream. Commit 495c8d35035e ("PM: hibernate: Add pm_hibernation_mode_is_suspend()") that introduced pm_hibernation_mode_is_suspend() did not define it in the case when CONFIG_HIBERNATION is unset, but CONFIG_SUSPEND is set. Subsequent commit 0a6e9e098fcc ("drm/amd: Fix hybrid sleep") made the amdgpu driver use that function which led to kernel build breakage in the case mentioned above [1]. Address this by using appropriate #ifdeffery around the definition of pm_hibernation_mode_is_suspend(). Fixes: 0a6e9e098fcc ("drm/amd: Fix hybrid sleep") Reported-by: KernelCI bot <[email protected]> Closes: https://groups.io/g/kernelci-results/topic/regression_pm_testing/115439919 [1] Signed-off-by: Rafael J. Wysocki <[email protected]> Reviewed-by: Mario Limonciello (AMD) <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 5aa0ab0 commit b5b378d

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

include/linux/suspend.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,6 @@ extern void arch_suspend_enable_irqs(void);
276276

277277
extern int pm_suspend(suspend_state_t state);
278278
extern bool sync_on_suspend_enabled;
279-
bool pm_hibernation_mode_is_suspend(void);
280279
#else /* !CONFIG_SUSPEND */
281280
#define suspend_valid_only_mem NULL
282281

@@ -289,7 +288,6 @@ static inline bool pm_suspend_via_firmware(void) { return false; }
289288
static inline bool pm_resume_via_firmware(void) { return false; }
290289
static inline bool pm_suspend_no_platform(void) { return false; }
291290
static inline bool pm_suspend_default_s2idle(void) { return false; }
292-
static inline bool pm_hibernation_mode_is_suspend(void) { return false; }
293291

294292
static inline void suspend_set_ops(const struct platform_suspend_ops *ops) {}
295293
static inline int pm_suspend(suspend_state_t state) { return -ENOSYS; }
@@ -420,6 +418,12 @@ static inline int hibernate_quiet_exec(int (*func)(void *data), void *data) {
420418
}
421419
#endif /* CONFIG_HIBERNATION */
422420

421+
#if defined(CONFIG_HIBERNATION) && defined(CONFIG_SUSPEND)
422+
bool pm_hibernation_mode_is_suspend(void);
423+
#else
424+
static inline bool pm_hibernation_mode_is_suspend(void) { return false; }
425+
#endif
426+
423427
int arch_resume_nosmt(void);
424428

425429
#ifdef CONFIG_HIBERNATION_SNAPSHOT_DEV

0 commit comments

Comments
 (0)