[PATCH 3.16 349/366] x86/apic: Fix build failure with X86_IO_APIC disabled

Ben Hutchings
2018-11-11T20:28:47Z

From: Ben Hutchings <ben@decadent.org.uk>

My backport of commit 2e63ad4bd5dd "x86/apic: Do not init irq
remapping if ioapic is disabled" added an unconditional use of
skip_ioapic_setup. Enabling X86_LOCAL_APIC but not X86_IO_APIC
results in a build failure.

This configuration was made impossible by commit b1da1e715d4f
"x86/Kconfig: Simplify X86_IO_APIC dependencies", but that seems to
depend on additional changes that aren't suitable for stable.

The function that was changed, enable_IR_x2apic(), is only used in
64-bit configurations where CONFIG_X86_IO_APIC is always enabled. So
extend the #ifdef CONFIG_X86_64 section to include this function.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -1609,6 +1609,8 @@ int __init enable_IR(void)
return -1;
}

+#ifdef CONFIG_X86_64
+
void __init enable_IR_x2apic(void)
{
unsigned long flags;
@@ -1683,7 +1685,6 @@ skip_x2apic:
local_irq_restore(flags);
}

-#ifdef CONFIG_X86_64
/*
* Detect and enable local APICs on non-SMP boards.
* Original code written by Keir Fraser.