Re: [PATCH] 2.6.16-rc6 calls check_acpi_pci() on x86 with ACPIdisabled

From: Andrew Morton
Date: Tue Mar 14 2006 - 21:07:39 EST


Herbert Poetzl <herbert@xxxxxxxxxxxx> wrote:
>
> On Tue, Mar 14, 2006 at 05:45:40PM -0800, Andrew Morton wrote:
> > Herbert Poetzl <herbert@xxxxxxxxxxxx> wrote:
> > >
> > >
> > > Hi Andrew! Folks!
> > >
> > > check_acpi_pci() is called form arch/i386/kernel/setup.c
> > > even if CONFIG_ACPI is not defined, but the code in
> > > include/asm/acpi.h doesn't provide it in this case,
> >
> > Well that's a shame.
> >
> > > so either we need to move the declaration outside the
> > > CONFIG_ACPI check, or alternatively move the call in
> > > setup.c inside the CONFIG_ACPI one
> > >
> > > attached two patches which would do this
> >
> > Prefer the first version. But it'll break if CONFIG_X86_IO_APIC &&
> > !CONFIG_ACPI
> >
> > So how's about this?
>
> hmm, well, the comment around the check_acpi_pci() call
> says: "Checks more than just ACPI actually", so I didn't
> want to make it depend on ACPI in the 'first' version,
> which now would change semantics, but if it is fine to
> make it depend on ACPI, the second version might be the
> simpler solution (which should have the same semantic as
> your version ... I think
>
> maybe the ACPI folks should clarify if this stuff has to
> be run if ACPI is off, in which case renaming the thing
> might be a good idea ...

Yes, actually I didn't check closely enough - arch/i386/kernel/acpi/* gets
built even if CONFIG_ACPI=n (!)

So the code will actualy compile and link OK if we do:

#ifdef CONFIG_X86_IO_APIC
extern void check_acpi_pci(void);
#else
static inline void check_acpi_pci(void) { }
#endif

But we'd need the acpi guys to tell us what's actually intended here,
please. Does it make sense to be calling this function in a non-ACPI
kernel?



erk, your patch was against include/asm/... - please don't do that - it
doesn't work very well if the patch receiver isn't using a setup-for-i386
tree.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/