aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2018-02-20 13:05:04 -0500
committerIngo Molnar <mingo@kernel.org>2018-03-12 07:32:57 -0400
commit50beba07a0e42ebd4454adc97515a2a2a969645b (patch)
treeacedb714315d2c8cb6b9c68f61320f8ac90de63d
parent24c517856af6511be1339dd55edd131160e37aac (diff)
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.shevchenko@linux.intel.com> Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: Eric Biederman <ebiederm@xmission.com> Cc: Juergen Gross <jgross@suse.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rafael J . Wysocki <rafael.j.wysocki@intel.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-acpi@vger.kernel.org Link: http://lkml.kernel.org/r/20180220180506.65523-1-andriy.shevchenko@linux.intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r--arch/x86/include/asm/acpi.h4
-rw-r--r--arch/x86/kernel/acpi/boot.c22
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)
140 return x86_init.acpi.get_root_pointer(); 140 return x86_init.acpi.get_root_pointer();
141} 141}
142 142
143void acpi_generic_reduced_hw_init(void);
144
143#else /* !CONFIG_ACPI */ 145#else /* !CONFIG_ACPI */
144 146
145#define acpi_lapic 0 147#define acpi_lapic 0
@@ -149,6 +151,8 @@ static inline void acpi_noirq_set(void) { }
149static inline void acpi_disable_pci(void) { } 151static inline void acpi_disable_pci(void) { }
150static inline void disable_acpi(void) { } 152static inline void disable_acpi(void) { }
151 153
154static inline void acpi_generic_reduced_hw_init(void) { }
155
152#endif /* !CONFIG_ACPI */ 156#endif /* !CONFIG_ACPI */
153 157
154#define ARCH_HAS_POWER_INIT 1 158#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)
1376 * 1376 *
1377 * We initialize the Hardware-reduced ACPI model here: 1377 * We initialize the Hardware-reduced ACPI model here:
1378 */ 1378 */
1379void __init acpi_generic_reduced_hw_init(void)
1380{
1381 /*
1382 * Override x86_init functions and bypass legacy PIC in
1383 * hardware reduced ACPI mode.
1384 */
1385 x86_init.timers.timer_init = x86_init_noop;
1386 x86_init.irqs.pre_vector_init = x86_init_noop;
1387 legacy_pic = &null_legacy_pic;
1388}
1389
1379static void __init acpi_reduced_hw_init(void) 1390static void __init acpi_reduced_hw_init(void)
1380{ 1391{
1381 if (acpi_gbl_reduced_hardware) { 1392 if (acpi_gbl_reduced_hardware)
1382 /* 1393 acpi_generic_reduced_hw_init();
1383 * Override x86_init functions and bypass legacy pic
1384 * in Hardware-reduced ACPI mode
1385 */
1386 x86_init.timers.timer_init = x86_init_noop;
1387 x86_init.irqs.pre_vector_init = x86_init_noop;
1388 legacy_pic = &null_legacy_pic;
1389 }
1390} 1394}
1391 1395
1392/* 1396/*