"Physflat", nr_ioapics);
 }
 
-static inline int multi_timer_check(int apic, int irq)
-{
-       return (0);
-}
-
 static inline int apicid_to_node(int logical_apicid)
 {
        return apicid_2_node[hard_smp_processor_id()];
 
                        nr_ioapics, cpus_addr(*es7000_target_cpus())[0]);
 }
 
-static inline int multi_timer_check(int apic, int irq)
-{
-       return 0;
-}
-
 static inline int apicid_to_node(int logical_apicid)
 {
        return 0;
 
        return phys_map;
 }
 
-static inline int multi_timer_check(int apic, int irq)
-{
-       return 0;
-}
-
 /* Mapping from cpu number to logical apicid */
 static inline int cpu_to_logical_apicid(int cpu)
 {
 
 
 #include <asm/genapic.h>
 
-#define multi_timer_check (apic->multi_timer_check)
 #define apicid_to_node (apic->apicid_to_node)
 #define cpu_to_logical_apicid (apic->cpu_to_logical_apicid) 
 #define cpu_present_to_apicid (apic->cpu_present_to_apicid)
 
  * Skip adding the timer int on secondary nodes, which causes
  * a small but painful rift in the time-space continuum.
  */
-static inline int multi_timer_check(int apic, int irq)
+static inline int numaq_multi_timer_check(int apic, int irq)
 {
        return apic != 0 && irq == 0;
 }
 
        apic_write(APIC_LDR, val);
 }
 
-static inline int multi_timer_check(int apic, int irq)
-{
-       return 0;
-}
-
 static inline int summit_apic_id_registered(void)
 {
        return 1;
 
                        }
 
                        irq = pin_2_irq(idx, apic_id, pin);
-#ifdef CONFIG_X86_32
-                       if (multi_timer_check(apic_id, irq))
+
+                       /*
+                        * Skip the timer IRQ if there's a quirk handler
+                        * installed and if it returns 1:
+                        */
+                       if (apic->multi_timer_check &&
+                                       apic->multi_timer_check(apic_id, irq))
                                continue;
-#endif
+
                        desc = irq_to_desc_alloc_cpu(irq, cpu);
                        if (!desc) {
                                printk(KERN_INFO "can not get irq_desc for %d\n", irq);
 
 
        .ioapic_phys_id_map             = bigsmp_ioapic_phys_id_map,
        .setup_apic_routing             = bigsmp_setup_apic_routing,
-       .multi_timer_check              = multi_timer_check,
+       .multi_timer_check              = NULL,
        .apicid_to_node                 = apicid_to_node,
        .cpu_to_logical_apicid          = cpu_to_logical_apicid,
        .cpu_present_to_apicid          = cpu_present_to_apicid,
 
 
        .ioapic_phys_id_map             = default_ioapic_phys_id_map,
        .setup_apic_routing             = default_setup_apic_routing,
-       .multi_timer_check              = multi_timer_check,
+       .multi_timer_check              = NULL,
        .apicid_to_node                 = apicid_to_node,
        .cpu_to_logical_apicid          = cpu_to_logical_apicid,
        .cpu_present_to_apicid          = cpu_present_to_apicid,
 
 
        .ioapic_phys_id_map             = es7000_ioapic_phys_id_map,
        .setup_apic_routing             = es7000_setup_apic_routing,
-       .multi_timer_check              = multi_timer_check,
+       .multi_timer_check              = NULL,
        .apicid_to_node                 = apicid_to_node,
        .cpu_to_logical_apicid          = cpu_to_logical_apicid,
        .cpu_present_to_apicid          = cpu_present_to_apicid,
 
 
        .ioapic_phys_id_map             = numaq_ioapic_phys_id_map,
        .setup_apic_routing             = numaq_setup_apic_routing,
-       .multi_timer_check              = multi_timer_check,
+       .multi_timer_check              = numaq_multi_timer_check,
        .apicid_to_node                 = apicid_to_node,
        .cpu_to_logical_apicid          = cpu_to_logical_apicid,
        .cpu_present_to_apicid          = cpu_present_to_apicid,
 
 
        .ioapic_phys_id_map             = summit_ioapic_phys_id_map,
        .setup_apic_routing             = summit_setup_apic_routing,
-       .multi_timer_check              = multi_timer_check,
+       .multi_timer_check              = NULL,
        .apicid_to_node                 = apicid_to_node,
        .cpu_to_logical_apicid          = cpu_to_logical_apicid,
        .cpu_present_to_apicid          = cpu_present_to_apicid,