Re: [PATCH] Fix section mismatch error foracpi_early_processor_set_pdc()

From: Alex Chiang
Date: Wed Jan 06 2010 - 17:52:20 EST


* Luck, Tony <tony.luck@xxxxxxxxx>:
> Alex Chiang introduced acpi_early_processor_set_pdc() in commit:
> ACPI: processor: call _PDC early
> 78f1699659963fff97975df44db6d5dbe7218e55
>
> But this results in a section mismatch:
>
> WARNING: drivers/acpi/acpi.o(.text+0xa9c1): Section mismatch in reference from the
> function acpi_early_processor_set_pdc() to the variable .cpuinit.data:processor_idle_dmi_table
> The function acpi_early_processor_set_pdc() references
> the variable __cpuinitdata processor_idle_dmi_table.
> This is often because acpi_early_processor_set_pdc lacks a __cpuinitdata
> annotation or the annotation of processor_idle_dmi_table is wrong.
>
> The only caller of acpi_early_processor_set_pdc() is acpi_bus_init() which
> is an "__init" function. So the correct fix here is to mark
> acpi_early_processor_set_pdc() "__init" too.
>
> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>

Acked-by: Alex Chiang <achiang@xxxxxx>

Sorry for not catching this. Not sure why I didn't notice it
myself.

/ac

>
> ---
>
> diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c
> index 30e4dc0..7d4ee39 100644
> --- a/drivers/acpi/processor_pdc.c
> +++ b/drivers/acpi/processor_pdc.c
> @@ -151,7 +151,7 @@ early_init_pdc(acpi_handle handle, u32 lvl, void *context, void **rv)
> return AE_OK;
> }
>
> -void acpi_early_processor_set_pdc(void)
> +void __init acpi_early_processor_set_pdc(void)
> {
> /*
> * Check whether the system is DMI table. If yes, OSPM
>
--
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/