Re: [PATCH v11 2/9] ACPI: Adjust #ifdef for *_lps0_dev use

From: Bjorn Helgaas
Date: Tue Aug 15 2023 - 14:29:24 EST


On Wed, Aug 09, 2023 at 01:54:46PM -0500, Mario Limonciello wrote:
> The #ifdef currently is guarded against CONFIG_X86, but these are
> actually sleep related functions so they should be tied to
> CONFIG_ACPI_SLEEP.
>
> Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
> ---
> v9->v10:
> * split from other patches
> ---
> include/linux/acpi.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> index 0d5277b7c6323..13a0fca3539f0 100644
> --- a/include/linux/acpi.h
> +++ b/include/linux/acpi.h
> @@ -1100,7 +1100,7 @@ void acpi_os_set_prepare_extended_sleep(int (*func)(u8 sleep_state,
>
> acpi_status acpi_os_prepare_extended_sleep(u8 sleep_state,
> u32 val_a, u32 val_b);
> -#ifdef CONFIG_X86
> +#if defined(CONFIG_ACPI_SLEEP) && defined(CONFIG_X86)

What's the connection to CONFIG_ACPI_SLEEP?

The acpi_register_lps0_dev() implementation in
drivers/acpi/x86/s2idle.c is under #ifdef CONFIG_SUSPEND (and
obviously s2idle.c is only compiled at all if CONFIG_X86).

Both callers (amd_pmc_probe() and thinkpad_acpi_module_init()) are
under #ifdef CONFIG_SUSPEND.

> struct acpi_s2idle_dev_ops {
> struct list_head list_node;
> void (*prepare)(void);
> @@ -1109,7 +1109,7 @@ struct acpi_s2idle_dev_ops {
> };
> int acpi_register_lps0_dev(struct acpi_s2idle_dev_ops *arg);
> void acpi_unregister_lps0_dev(struct acpi_s2idle_dev_ops *arg);
> -#endif /* CONFIG_X86 */
> +#endif /* CONFIG_ACPI_SLEEP && CONFIG_X86 */
> #ifndef CONFIG_IA64
> void arch_reserve_mem_area(acpi_physical_address addr, size_t size);
> #else
> --
> 2.34.1
>