aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiang Liu <jiang.liu@linux.intel.com>2014-06-09 04:19:46 -0400
committerThomas Gleixner <tglx@linutronix.de>2014-06-21 17:05:42 -0400
commit6084a6e23c971ef703229ee1aec68d01688578d6 (patch)
treeb53f22479ebbb5946433fb83d6e9a72a91cf877d
parent18e485518656205bbffce5e01f07830a6c3f557d (diff)
x86: ce4100, irq: Make CE4100 depend on CONFIG_X86_IO_APIC
Intel CE4100 platforms need IOAPIC support becasue some devices are always connected to the second IOAPIC, so make CONFIG_CE depends on CONFIG_X86_IO_APIC. Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Tony Luck <tony.luck@intel.com> Cc: Joerg Roedel <joro@8bytes.org> Cc: Paul Gortmaker <paul.gortmaker@windriver.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Grant Likely <grant.likely@linaro.org> Cc: Rafael J. Wysocki <rjw@rjwysocki.net> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: Randy Dunlap <rdunlap@infradead.org> Cc: Yinghai Lu <yinghai@kernel.org> Link: http://lkml.kernel.org/r/1402302011-23642-18-git-send-email-jiang.liu@linux.intel.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/Kconfig1
-rw-r--r--arch/x86/platform/ce4100/ce4100.c9
2 files changed, 3 insertions, 7 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index a8f749ef0fdc..9df5c453171e 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -429,6 +429,7 @@ config X86_INTEL_CE
429 bool "CE4100 TV platform" 429 bool "CE4100 TV platform"
430 depends on PCI 430 depends on PCI
431 depends on PCI_GODIRECT 431 depends on PCI_GODIRECT
432 depends on X86_IO_APIC
432 depends on X86_32 433 depends on X86_32
433 depends on X86_EXTENDED_PLATFORM 434 depends on X86_EXTENDED_PLATFORM
434 select X86_REBOOTFIXUPS 435 select X86_REBOOTFIXUPS
diff --git a/arch/x86/platform/ce4100/ce4100.c b/arch/x86/platform/ce4100/ce4100.c
index 8244f5ec2f4c..0a54a586559b 100644
--- a/arch/x86/platform/ce4100/ce4100.c
+++ b/arch/x86/platform/ce4100/ce4100.c
@@ -135,14 +135,12 @@ static void __init sdv_arch_setup(void)
135 sdv_serial_fixup(); 135 sdv_serial_fixup();
136} 136}
137 137
138#ifdef CONFIG_X86_IO_APIC
139static void sdv_pci_init(void) 138static void sdv_pci_init(void)
140{ 139{
141 x86_of_pci_init(); 140 x86_of_pci_init();
142 /* We can't set this earlier, because we need to calibrate the timer */ 141 /* We can't set this earlier, because we need to calibrate the timer */
143 legacy_pic = &null_legacy_pic; 142 legacy_pic = &null_legacy_pic;
144} 143}
145#endif
146 144
147/* 145/*
148 * CE4100 specific x86_init function overrides and early setup 146 * CE4100 specific x86_init function overrides and early setup
@@ -155,7 +153,9 @@ void __init x86_ce4100_early_setup(void)
155 x86_init.resources.probe_roms = x86_init_noop; 153 x86_init.resources.probe_roms = x86_init_noop;
156 x86_init.mpparse.get_smp_config = x86_init_uint_noop; 154 x86_init.mpparse.get_smp_config = x86_init_uint_noop;
157 x86_init.mpparse.find_smp_config = x86_init_noop; 155 x86_init.mpparse.find_smp_config = x86_init_noop;
156 x86_init.mpparse.setup_ioapic_ids = setup_ioapic_ids_from_mpc_nocheck;
158 x86_init.pci.init = ce4100_pci_init; 157 x86_init.pci.init = ce4100_pci_init;
158 x86_init.pci.init_irq = sdv_pci_init;
159 159
160 /* 160 /*
161 * By default, the reboot method is ACPI which is supported by the 161 * By default, the reboot method is ACPI which is supported by the
@@ -166,10 +166,5 @@ void __init x86_ce4100_early_setup(void)
166 */ 166 */
167 reboot_type = BOOT_KBD; 167 reboot_type = BOOT_KBD;
168 168
169#ifdef CONFIG_X86_IO_APIC
170 x86_init.pci.init_irq = sdv_pci_init;
171 x86_init.mpparse.setup_ioapic_ids = setup_ioapic_ids_from_mpc_nocheck;
172#endif
173
174 pm_power_off = ce4100_power_off; 169 pm_power_off = ce4100_power_off;
175} 170}