/*
- * APIC driver for "bigsmp" XAPIC machines with more than 8 virtual CPUs.
+ * APIC driver for "bigsmp" xAPIC machines with more than 8 virtual CPUs.
+ *
  * Drives the local APIC in "clustered mode".
  */
 #include <linux/threads.h>
 #include <linux/cpumask.h>
-#include <asm/mpspec.h>
-#include <asm/apic.h>
-#include <asm/fixmap.h>
-#include <asm/apicdef.h>
-#include <asm/ipi.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/dmi.h>
 #include <linux/smp.h>
 
+#include <asm/apicdef.h>
+#include <asm/fixmap.h>
+#include <asm/mpspec.h>
+#include <asm/apic.h>
+#include <asm/ipi.h>
 
 static inline unsigned bigsmp_get_apic_id(unsigned long x)
 {
        return (x >> 24) & 0xFF;
 }
 
-#define xapic_phys_to_log_apicid(cpu) (per_cpu(x86_bios_cpu_apicid, cpu))
-
 static inline int bigsmp_apic_id_registered(void)
 {
        return 1;
 #endif
 }
 
-#define APIC_DFR_VALUE         (APIC_DFR_FLAT)
-
 static inline unsigned long
 bigsmp_check_apicid_used(physid_mask_t bitmap, int apicid)
 {
 static inline unsigned long calculate_ldr(int cpu)
 {
        unsigned long val, id;
+
        val = apic_read(APIC_LDR) & ~APIC_LDR_MASK;
-       id = xapic_phys_to_log_apicid(cpu);
+       id = per_cpu(x86_bios_cpu_apicid, cpu);
        val |= SET_APIC_LOGICAL_ID(id);
+
        return val;
 }
 
        unsigned long val;
        int cpu = smp_processor_id();
 
-       apic_write(APIC_DFR, APIC_DFR_VALUE);
+       apic_write(APIC_DFR, APIC_DFR_FLAT);
        val = calculate_ldr(cpu);
        apic_write(APIC_LDR, val);
 }
 
 static inline void bigsmp_setup_apic_routing(void)
 {
-       printk("Enabling APIC mode:  %s.  Using %d I/O APICs\n",
-               "Physflat", nr_ioapics);
+       printk(KERN_INFO
+               "Enabling APIC mode:  Physflat.  Using %d I/O APICs\n",
+               nr_ioapics);
 }
 
 static inline int bigsmp_apicid_to_node(int logical_apicid)
 }
 
 extern u8 cpu_2_logical_apicid[];
+
 /* Mapping from cpu number to logical apicid */
 static inline int bigsmp_cpu_to_logical_apicid(int cpu)
 {
 {
        printk(KERN_NOTICE "%s detected: force use of apic=bigsmp\n", d->ident);
        dmi_bigsmp = 1;
+
        return 0;
 }
 
 
 static const struct dmi_system_id bigsmp_dmi_table[] = {
        { hp_ht_bigsmp, "HP ProLiant DL760 G2",
-       { DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
-       DMI_MATCH(DMI_BIOS_VERSION, "P44-"),}
+               {       DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
+                       DMI_MATCH(DMI_BIOS_VERSION, "P44-"),
+               }
        },
 
        { hp_ht_bigsmp, "HP ProLiant DL740",
-       { DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
-       DMI_MATCH(DMI_BIOS_VERSION, "P47-"),}
+               {       DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
+                       DMI_MATCH(DMI_BIOS_VERSION, "P47-"),
+               }
        },
-        { }
+       { } /* NULL entry stops DMI scanning */
 };
 
 static void bigsmp_vector_allocation_domain(int cpu, cpumask_t *retmask)
                dmi_bigsmp = 1;
        else
                dmi_check_system(bigsmp_dmi_table);
+
        return dmi_bigsmp;
 }