x86, perf_counter, bts: Fail if BTS is not available
[safe/jmp/linux-2.6] / arch / x86 / kernel / vmiclock_32.c
index 9cd28c0..2b3eb82 100644 (file)
@@ -28,7 +28,6 @@
 
 #include <asm/vmi.h>
 #include <asm/vmi_time.h>
-#include <asm/arch_hooks.h>
 #include <asm/apicdef.h>
 #include <asm/apic.h>
 #include <asm/timer.h>
@@ -202,8 +201,7 @@ static irqreturn_t vmi_timer_interrupt(int irq, void *dev_id)
 static struct irqaction vmi_clock_action  = {
        .name           = "vmi-timer",
        .handler        = vmi_timer_interrupt,
-       .flags          = IRQF_DISABLED | IRQF_NOBALANCING,
-       .mask           = CPU_MASK_ALL,
+       .flags          = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_TIMER,
 };
 
 static void __devinit vmi_time_init_clockevent(void)
@@ -285,11 +283,10 @@ void __devinit vmi_time_ap_init(void)
 /** vmi clocksource */
 static struct clocksource clocksource_vmi;
 
-static cycle_t read_real_cycles(void)
+static cycle_t read_real_cycles(struct clocksource *cs)
 {
        cycle_t ret = (cycle_t)vmi_timer_ops.get_cycle_counter(VMI_CYCLES_REAL);
-       return ret >= clocksource_vmi.cycle_last ?
-               ret : clocksource_vmi.cycle_last;
+       return max(ret, clocksource_vmi.cycle_last);
 }
 
 static struct clocksource clocksource_vmi = {