Commit-ID:  50beba07a0e42ebd4454adc97515a2a2a969645b
Gitweb:     https://git.kernel.org/tip/50beba07a0e42ebd4454adc97515a2a2a969645b
Author:     Andy Shevchenko <andriy.shevche...@linux.intel.com>
AuthorDate: Tue, 20 Feb 2018 20:05:04 +0200
Committer:  Ingo Molnar <mi...@kernel.org>
CommitDate: Mon, 12 Mar 2018 12:32:57 +0100

ACPI, x86/boot: Split out acpi_generic_reduce_hw_init() and export

This is a preparation patch to allow override the hardware reduced
initialization on ACPI enabled platforms.

No functional change intended.

Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
Reviewed-by: Rafael J. Wysocki <rafael.j.wyso...@intel.com>
Cc: Eric Biederman <ebied...@xmission.com>
Cc: Juergen Gross <jgr...@suse.com>
Cc: Linus Torvalds <torva...@linux-foundation.org>
Cc: Peter Zijlstra <pet...@infradead.org>
Cc: Rafael J . Wysocki <rafael.j.wyso...@intel.com>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: linux-a...@vger.kernel.org
Link: 
http://lkml.kernel.org/r/20180220180506.65523-1-andriy.shevche...@linux.intel.com
Signed-off-by: Ingo Molnar <mi...@kernel.org>
---
 arch/x86/include/asm/acpi.h |  4 ++++
 arch/x86/kernel/acpi/boot.c | 22 +++++++++++++---------
 2 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h
index 6609dd7289b5..a303d7b7d763 100644
--- a/arch/x86/include/asm/acpi.h
+++ b/arch/x86/include/asm/acpi.h
@@ -140,6 +140,8 @@ static inline u64 acpi_arch_get_root_pointer(void)
        return x86_init.acpi.get_root_pointer();
 }
 
+void acpi_generic_reduced_hw_init(void);
+
 #else /* !CONFIG_ACPI */
 
 #define acpi_lapic 0
@@ -149,6 +151,8 @@ static inline void acpi_noirq_set(void) { }
 static inline void acpi_disable_pci(void) { }
 static inline void disable_acpi(void) { }
 
+static inline void acpi_generic_reduced_hw_init(void) { }
+
 #endif /* !CONFIG_ACPI */
 
 #define ARCH_HAS_POWER_INIT    1
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 2aa92094b59d..baa084ecffdb 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -1376,17 +1376,21 @@ static int __init dmi_ignore_irq0_timer_override(const 
struct dmi_system_id *d)
  *
  * We initialize the Hardware-reduced ACPI model here:
  */
+void __init acpi_generic_reduced_hw_init(void)
+{
+       /*
+        * Override x86_init functions and bypass legacy PIC in
+        * hardware reduced ACPI mode.
+        */
+       x86_init.timers.timer_init      = x86_init_noop;
+       x86_init.irqs.pre_vector_init   = x86_init_noop;
+       legacy_pic                      = &null_legacy_pic;
+}
+
 static void __init acpi_reduced_hw_init(void)
 {
-       if (acpi_gbl_reduced_hardware) {
-               /*
-                * Override x86_init functions and bypass legacy pic
-                * in Hardware-reduced ACPI mode
-                */
-               x86_init.timers.timer_init      = x86_init_noop;
-               x86_init.irqs.pre_vector_init   = x86_init_noop;
-               legacy_pic                      = &null_legacy_pic;
-       }
+       if (acpi_gbl_reduced_hardware)
+               acpi_generic_reduced_hw_init();
 }
 
 /*

Reply via email to