aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Starikovskiy <astarikovskiy@suse.de>2008-03-20 14:55:02 +0300
committerIngo Molnar <mingo@elte.hu>2008-04-17 17:40:59 +0200
commitc0a282c251181aa423d4831719613b8286b5b839 (patch)
tree8083d4d0e0b28a1640c5d640cc69e5e33596e0a1
parent9e0a2de2684372f16130b753efdbf226a997efb0 (diff)
x86: make mp_bus_id_to_type optional
[ mingo@elte.hu: fix boot regression. ] Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/kernel/io_apic_32.c4
-rw-r--r--arch/x86/kernel/mpparse_32.c8
-rw-r--r--include/asm-x86/mpspec.h6
3 files changed, 16 insertions, 2 deletions
diff --git a/arch/x86/kernel/io_apic_32.c b/arch/x86/kernel/io_apic_32.c
index 97ac6104d63..0d70acd3b13 100644
--- a/arch/x86/kernel/io_apic_32.c
+++ b/arch/x86/kernel/io_apic_32.c
@@ -915,6 +915,7 @@ void __init setup_ioapic_dest(void)
}
#endif
+#if defined(CONFIG_EISA) || defined(CONFIG_MCA)
/*
* EISA Edge/Level control register, ELCR
*/
@@ -928,6 +929,7 @@ static int EISA_ELCR(unsigned int irq)
"Broken MPtable reports ISA irq %d\n", irq);
return 0;
}
+#endif
/* ISA interrupts are always polarity zero edge triggered,
* when listed as conforming in the MP table. */
@@ -1013,6 +1015,7 @@ static int MPBIOS_trigger(int idx)
trigger = test_bit(bus, mp_bus_not_pci)?
default_ISA_trigger(idx):
default_PCI_trigger(idx);
+#if defined(CONFIG_EISA) || defined(CONFIG_MCA)
switch (mp_bus_id_to_type[bus])
{
case MP_BUS_ISA: /* ISA pin */
@@ -1042,6 +1045,7 @@ static int MPBIOS_trigger(int idx)
break;
}
}
+#endif
break;
}
case 1: /* edge */
diff --git a/arch/x86/kernel/mpparse_32.c b/arch/x86/kernel/mpparse_32.c
index 13adcc40a00..8795122db9b 100644
--- a/arch/x86/kernel/mpparse_32.c
+++ b/arch/x86/kernel/mpparse_32.c
@@ -42,7 +42,9 @@ unsigned int __cpuinitdata maxcpus = NR_CPUS;
* MP-table.
*/
int apic_version [MAX_APICS];
+#if defined (CONFIG_MCA) || defined (CONFIG_EISA)
int mp_bus_id_to_type [MAX_MP_BUSSES];
+#endif
DECLARE_BITMAP(mp_bus_not_pci, MAX_MP_BUSSES);
int mp_bus_id_to_node [MAX_MP_BUSSES];
int mp_bus_id_to_local [MAX_MP_BUSSES];
@@ -245,9 +247,10 @@ static void __init MP_bus_info (struct mpc_config_bus *m)
if (strncmp(str, BUSTYPE_PCI, sizeof(BUSTYPE_PCI)-1) == 0) {
mpc_oem_pci_bus(m, translation_table[mpc_record]);
clear_bit(m->mpc_busid, mp_bus_not_pci);
- mp_bus_id_to_type[m->mpc_busid] = MP_BUS_PCI;
mp_bus_id_to_pci_bus[m->mpc_busid] = mp_current_pci_id;
mp_current_pci_id++;
+#if defined(CONFIG_EISA) || defined (CONFIG_MCA)
+ mp_bus_id_to_type[m->mpc_busid] = MP_BUS_PCI;
} else if (strncmp(str, BUSTYPE_ISA, sizeof(BUSTYPE_ISA)-1) == 0) {
mp_bus_id_to_type[m->mpc_busid] = MP_BUS_ISA;
} else if (strncmp(str, BUSTYPE_EISA, sizeof(BUSTYPE_EISA)-1) == 0) {
@@ -256,6 +259,7 @@ static void __init MP_bus_info (struct mpc_config_bus *m)
mp_bus_id_to_type[m->mpc_busid] = MP_BUS_MCA;
} else {
printk(KERN_WARNING "Unknown bustype %s - ignoring\n", str);
+#endif
}
}
@@ -983,10 +987,12 @@ void __init mp_config_acpi_legacy_irqs (void)
int i = 0;
int ioapic = -1;
+#if defined (CONFIG_MCA) || defined (CONFIG_EISA)
/*
* Fabricate the legacy ISA bus (bus #31).
*/
mp_bus_id_to_type[MP_ISA_BUS] = MP_BUS_ISA;
+#endif
set_bit(MP_ISA_BUS, mp_bus_not_pci);
Dprintk("Bus #%d is ISA\n", MP_ISA_BUS);
diff --git a/include/asm-x86/mpspec.h b/include/asm-x86/mpspec.h
index 75df88e0a27..5fa8b8bb7d0 100644
--- a/include/asm-x86/mpspec.h
+++ b/include/asm-x86/mpspec.h
@@ -6,7 +6,6 @@
#ifdef CONFIG_X86_32
#include <mach_mpspec.h>
-extern int mp_bus_id_to_type[MAX_MP_BUSSES];
extern int mp_bus_id_to_node[MAX_MP_BUSSES];
extern int mp_bus_id_to_local[MAX_MP_BUSSES];
@@ -28,7 +27,12 @@ extern void early_get_smp_config(void);
#endif
+#if defined(CONFIG_MCA) || defined(CONFIG_EISA)
+extern int mp_bus_id_to_type[MAX_MP_BUSSES];
+#endif
+
extern DECLARE_BITMAP(mp_bus_not_pci, MAX_MP_BUSSES);
+
extern int mp_bus_id_to_pci_bus[MAX_MP_BUSSES];
extern unsigned int boot_cpu_physical_apicid;