[PATCH v1 1/3] ACPI / x86: boot: Not all platforms require acpi_reduced_hw_init()

From: Andy Shevchenko
Date: Wed Jan 17 2018 - 12:34:59 EST


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@xxxxxxxxxxxxxxx>
---
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;
--
2.15.1