Commit bbfe987c authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

PM: hibernate: Fix pm_hibernation_mode_is_suspend() build breakage



Commit 495c8d35 ("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 0a6e9e09 ("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: 0a6e9e09 ("drm/amd: Fix hybrid sleep")
Reported-by: default avatarKernelCI bot <bot@kernelci.org>
Closes: https://groups.io/g/kernelci-results/topic/regression_pm_testing/115439919

 [1]
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: default avatarMario Limonciello (AMD) <superm1@kernel.org>
parent 0a6e9e09
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -276,7 +276,6 @@ extern void arch_suspend_enable_irqs(void);

extern int pm_suspend(suspend_state_t state);
extern bool sync_on_suspend_enabled;
bool pm_hibernation_mode_is_suspend(void);
#else /* !CONFIG_SUSPEND */
#define suspend_valid_only_mem	NULL

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

static inline void suspend_set_ops(const struct platform_suspend_ops *ops) {}
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) {
}
#endif /* CONFIG_HIBERNATION */

#if defined(CONFIG_HIBERNATION) && defined(CONFIG_SUSPEND)
bool pm_hibernation_mode_is_suspend(void);
#else
static inline bool pm_hibernation_mode_is_suspend(void) { return false; }
#endif

int arch_resume_nosmt(void);

#ifdef CONFIG_HIBERNATION_SNAPSHOT_DEV