x86: make mp_bus_id_to_type optional
authorAlexey Starikovskiy <astarikovskiy@suse.de>
Thu, 20 Mar 2008 11:55:02 +0000 (14:55 +0300)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Apr 2008 15:40:59 +0000 (17:40 +0200)
[ mingo@elte.hu: fix boot regression. ]

Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/io_apic_32.c
arch/x86/kernel/mpparse_32.c
include/asm-x86/mpspec.h

index 97ac6104d63a0fcfa9fb2b9f9b8c1e51c9b7866d..0d70acd3b134438a7545fc48f682bfaf42b8abeb 100644 (file)
@@ -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 */
index 13adcc40a00ed72f8a2612c5808e6418e8a1c768..8795122db9bc8c957020d87f2c15c62d8858de1e 100644 (file)
@@ -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);
 
index 75df88e0a2708a8139f40e4a35ea60861a9223d7..5fa8b8bb7d0015c85b69e3e33a809eebb6eda70c 100644 (file)
@@ -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;