[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3139601.BsU5hxGGNu@aspire.rjw.lan>
Date: Sun, 04 Feb 2018 09:54:35 +0100
From: "Rafael J. Wysocki" <rjw@...ysocki.net>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, x86@...nel.org,
linux-acpi@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1 1/3] ACPI / x86: boot: Not all platforms require acpi_reduced_hw_init()
On Wednesday, January 17, 2018 6:34:07 PM CET Andy Shevchenko wrote:
> Some platforms might take care of legacy devices on theirs own.
> Let's allow them to do that by exporting a weak function.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
> ---
> arch/x86/kernel/acpi/boot.c | 2 +-
> include/linux/acpi.h | 3 +++
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
> index ec3a286163c3..9a714b79ebed 100644
> --- a/arch/x86/kernel/acpi/boot.c
> +++ b/arch/x86/kernel/acpi/boot.c
> @@ -1375,7 +1375,7 @@ static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d)
> *
> * We initialize the Hardware-reduced ACPI model here:
> */
> -static void __init acpi_reduced_hw_init(void)
> +void __init __weak acpi_reduced_hw_init(void)
> {
> if (acpi_gbl_reduced_hardware) {
> /*
> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> index f0ea50ba0550..eb881516bce6 100644
> --- a/include/linux/acpi.h
> +++ b/include/linux/acpi.h
> @@ -226,6 +226,8 @@ struct acpi_subtable_proc {
>
> void __iomem *__acpi_map_table(unsigned long phys, unsigned long size);
> void __acpi_unmap_table(void __iomem *map, unsigned long size);
> +
> +void acpi_reduced_hw_init(void);
> int early_acpi_boot_init(void);
> int acpi_boot_init (void);
> void acpi_boot_table_init (void);
> @@ -707,6 +709,7 @@ static inline struct device *acpi_get_first_physical_node(struct acpi_device *ad
> static inline void acpi_early_init(void) { }
> static inline void acpi_subsystem_init(void) { }
>
> +static inline void acpi_reduced_hw_init(void) { }
> static inline int early_acpi_boot_init(void)
> {
> return 0;
May I suggest folding this into the [3/3]?
It would be clear why you need the __weak thing then.
OTOH, I guess you'll go for the new init callbacks rather.
Powered by blists - more mailing lists