#ifdef CONFIG_X86_64
 typedef int (*wakeup_cpu_handler)(int apicid, unsigned long start_eip);
 extern void acpi_wake_cpu_handler_update(wakeup_cpu_handler handler);
+extern int default_acpi_madt_oem_check(char *, char *);
+#else
+static inline int default_acpi_madt_oem_check(char *a, char *b) { return 0; }
 #endif
 
 extern int default_apic_id_valid(u32 apicid);
-extern int default_acpi_madt_oem_check(char *, char *);
 extern void default_setup_apic_routing(void);
 
 extern u32 apic_default_calc_apicid(unsigned int cpu);
 
 
        .name                           = "bigsmp",
        .probe                          = probe_bigsmp,
-       .acpi_madt_oem_check            = NULL,
        .apic_id_valid                  = default_apic_id_valid,
        .apic_id_registered             = bigsmp_apic_id_registered,
 
 
 
        .name                           = "default",
        .probe                          = probe_default,
-       .acpi_madt_oem_check            = NULL,
        .apic_id_valid                  = default_apic_id_valid,
        .apic_id_registered             = default_apic_id_registered,
 
        }
        printk(KERN_INFO "Using APIC driver %s\n", apic->name);
 }
-
-/* This function can switch the APIC even after the initial ->probe() */
-int __init default_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
-{
-       struct apic **drv;
-
-       for (drv = __apicdrivers; drv < __apicdrivers_end; drv++) {
-               if (!(*drv)->acpi_madt_oem_check)
-                       continue;
-               if (!(*drv)->acpi_madt_oem_check(oem_id, oem_table_id))
-                       continue;
-
-               if (!cmdline_apic) {
-                       apic = *drv;
-                       printk(KERN_INFO "Switched to APIC driver `%s'.\n",
-                              apic->name);
-               }
-               return 1;
-       }
-       return 0;
-}