Re: [PATCH v2 2/3] x86/acpi: take rsdp address for boot params if available

From: Juergen Gross
Date: Fri Dec 08 2017 - 06:14:53 EST


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?


Juergen