[PATCH] hpet: use read_timer_tsc only when CPU has TSC
[pandora-kernel.git] / arch / i386 / kernel / timers / timer_hpet.c
index ef8dac5..cbb3f22 100644 (file)
@@ -136,6 +136,8 @@ static void delay_hpet(unsigned long loops)
        } while ((hpet_end - hpet_start) < (loops));
 }
 
+static struct timer_opts timer_hpet;
+
 static int __init init_hpet(char* override)
 {
        unsigned long result, remain;
@@ -163,6 +165,8 @@ static int __init init_hpet(char* override)
                        }
                        set_cyc2ns_scale(cpu_khz/1000);
                }
+               /* set this only when cpu_has_tsc */
+               timer_hpet.read_timer = read_timer_tsc;
        }
 
        /*
@@ -186,7 +190,6 @@ static struct timer_opts timer_hpet __read_mostly = {
        .get_offset =           get_offset_hpet,
        .monotonic_clock =      monotonic_clock_hpet,
        .delay =                delay_hpet,
-       .read_timer =           read_timer_tsc,
 };
 
 struct init_timer_opts __initdata timer_hpet_init = {