Commit b220db38 authored by Bryan O'Donoghue's avatar Bryan O'Donoghue Committed by Jiri Slaby

x86/apic: Re-enable PCI_MSI support for non-SMP X86_32

commit 38a1dfda upstream.

Commit 0dbc6078 ('x86, build, pci: Fix PCI_MSI build on !SMP')
introduced the dependency that X86_UP_APIC is only available when
PCI_MSI is false. This effectively prevents PCI_MSI support on 32bit
UP systems because it disables both APIC and IO-APIC. But APIC support
is architecturally required for PCI_MSI.

The intention of the patch was to enforce APIC support when PCI_MSI is
enabled, but failed to do so.

Remove the !PCI_MSI dependency from X86_UP_APIC and enforce
X86_UP_APIC when PCI_MSI support is enabled on 32bit UP systems.

[ tglx: Massaged changelog ]

Fixes 0dbc6078 'x86, build, pci: Fix PCI_MSI build on !SMP'
Signed-off-by: default avatarBryan O'Donoghue <pure.logic@nexus-software.ie>
Suggested-by: default avatarThomas Gleixner <tglx@linutronix.de>
Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Link: http://lkml.kernel.org/r/1421967529-9037-1-git-send-email-pure.logic@nexus-software.ieSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
parent a9ca75eb
...@@ -861,7 +861,7 @@ source "kernel/Kconfig.preempt" ...@@ -861,7 +861,7 @@ source "kernel/Kconfig.preempt"
config X86_UP_APIC config X86_UP_APIC
bool "Local APIC support on uniprocessors" bool "Local APIC support on uniprocessors"
depends on X86_32 && !SMP && !X86_32_NON_STANDARD && !PCI_MSI depends on X86_32 && !SMP && !X86_32_NON_STANDARD
---help--- ---help---
A local APIC (Advanced Programmable Interrupt Controller) is an A local APIC (Advanced Programmable Interrupt Controller) is an
integrated interrupt controller in the CPU. If you have a single-CPU integrated interrupt controller in the CPU. If you have a single-CPU
...@@ -872,6 +872,10 @@ config X86_UP_APIC ...@@ -872,6 +872,10 @@ config X86_UP_APIC
performance counters), and the NMI watchdog which detects hard performance counters), and the NMI watchdog which detects hard
lockups. lockups.
config X86_UP_APIC_MSI
def_bool y
select X86_UP_APIC if X86_32 && !SMP && !X86_32_NON_STANDARD && PCI_MSI
config X86_UP_IOAPIC config X86_UP_IOAPIC
bool "IO-APIC support on uniprocessors" bool "IO-APIC support on uniprocessors"
depends on X86_UP_APIC depends on X86_UP_APIC
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment