Only use read_timer_tsc only when CPU has TSC. Thanks to Andrea for 
pointing this out. Should not be issue on any platforms as all
recent systems that has HPET also has CPUs that supports TSC. The patch is
still required for correctness.

Signed-off-by: Venkatesh Pallipadi <[EMAIL PROTECTED]>

diff -purN  linux-2.6.13-rc1/arch/i386/kernel/timers/timer_hpet.c.org 
linux-2.6.13-rc1/arch/i386/kernel/timers/timer_hpet.c
--- linux-2.6.13-rc1/arch/i386/kernel/timers/timer_hpet.c.org   2005-07-13 
08:12:11.846794648 -0700
+++ linux-2.6.13-rc1/arch/i386/kernel/timers/timer_hpet.c       2005-07-13 
08:17:25.055179736 -0700
@@ -136,6 +136,8 @@ static void delay_hpet(unsigned long loo
        } 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* overri
                        }
                        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 = {
        .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 = {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to