Merge commit 'origin/master' into next
[sfrench/cifs-2.6.git] / arch / x86 / kernel / apic / probe_64.c
index 70935dd904db41e59b151fda0a912fb68fee11b0..8d7748efe6a801859e2cda4c96354a57d69237ea 100644 (file)
@@ -50,9 +50,16 @@ static struct apic *apic_probe[] __initdata = {
 void __init default_setup_apic_routing(void)
 {
 #ifdef CONFIG_X86_X2APIC
-       if (apic == &apic_x2apic_phys || apic == &apic_x2apic_cluster) {
-               if (!intr_remapping_enabled)
-                       apic = &apic_flat;
+       if (x2apic && (apic != &apic_x2apic_phys &&
+#ifdef CONFIG_X86_UV
+                      apic != &apic_x2apic_uv_x &&
+#endif
+                      apic != &apic_x2apic_cluster)) {
+               if (x2apic_phys)
+                       apic = &apic_x2apic_phys;
+               else
+                       apic = &apic_x2apic_cluster;
+               printk(KERN_INFO "Setting APIC routing to %s\n", apic->name);
        }
 #endif
 
@@ -61,9 +68,6 @@ void __init default_setup_apic_routing(void)
                        apic = &apic_physflat;
                printk(KERN_INFO "Setting APIC routing to %s\n", apic->name);
        }
-
-       if (x86_quirks->update_apic)
-               x86_quirks->update_apic();
 }
 
 /* Same for both flat and physical. */