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

From: Bjorn Helgaas
Date: Wed Aug 16 2023 - 12:58:22 EST


On Tue, Aug 15, 2023 at 01:32:05PM -0500, Mario Limonciello wrote:
> On 8/15/2023 13:28, Bjorn Helgaas wrote:
> > 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.
>
> My thought process was that s2idle.c is from drivers/acpi/x86 and only can
> be used in the context of ACPI enabled sleep.
>
> But I could see the argument for CONFIG_SUSPEND being stronger. I'll adjust
> and make sure the rest of the series works with CONFIG_SUSPEND.

It's very hard to verify that it's correct if the declaration is under
a different #ifdef than the implementation, whereas it's trivial if it
uses the same #ifdef.

Bjorn