| From: Ben Hutchings <ben@decadent.org.uk> |
| Date: Sun, 11 Nov 2018 01:02:49 +0000 |
| Subject: x86/apic: Fix build failure with X86_IO_APIC disabled |
| |
| 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. |