Re: [PATCH v2 2/3] x86/acpi: take rsdp address for boot params if available
From: Ingo Molnar
Date: Fri Dec 08 2017 - 06:26:53 EST
* Juergen Gross <jgross@xxxxxxxx> wrote:
> On 08/12/17 08:05, Ingo Molnar wrote:
> >
> > * Juergen Gross <jgross@xxxxxxxx> wrote:
>
> ...
>
> > acpi_physical_address acpi_arch_get_root_pointer(void)
> > {
> > return boot_params.hdr.acpi_rsdp_addr;
> > }
> >
> > 4)
> >
> > Add this to arch/x86/include/asm/acpi.h:
> >
> > extern acpi_physical_address acpi_arch_get_root_pointer(void);
>
> Uuh, this leads to problems for files including <asm/acpi.h> directly:
> acpi_physical_address won't be defined, and including <acpi/actypes.h>
> from arch/x86/include/asm/acpi.h will lead to:
>
> #error unknown ACPI_MACHINE_WIDTH
>
> This can only be avoided by including <linux/acpi.h> from <asm/acpi.h>
> which seems to be the wrong layering.
>
> So I could:
>
> a) modify the sources including <asm/acpi.h> to use <linux/acpi.h>
> instead
> b) don't use acpi_physical_address but either u64 or unsigned long.
> c) ?
>
> What would be your preference?
Would it help if you put the prototype into linux/acpi.h perhaps? It's a generic
facility in principle, even if only used by x86 at the moment.
Thanks,
Ingo