diff -urN oldtree/kernel/timer.c newtree/kernel/timer.c
--- oldtree/kernel/timer.c	2006-08-18 15:01:22.000000000 -0400
+++ newtree/kernel/timer.c	2006-08-20 05:38:43.591334500 -0400
@@ -580,6 +580,13 @@
 #include <linux/clocksource.h>
 static struct clocksource *clock; /* pointer to current clocksource */
 
+void printk_clock_info(void)
+{
+       printk("clock %s: m:%u,s:%u,cl:%Lu,ci:%Lu,xn:%Lu,xi:%Lu,e:%Ld\n",
+               clock->name, clock->mult, clock->shift, clock->cycle_last, clock->cycle_interval,
+               clock->xtime_nsec, clock->xtime_interval, clock->error);
+}
+
 #ifdef CONFIG_GENERIC_TIME
 /**
  * __get_nsec_offset - Returns nanoseconds since last call to periodic_hook
@@ -823,7 +830,7 @@
 static __always_inline int clocksource_bigadjust(s64 error, s64 *interval, s64 *offset)
 {
 	s64 tick_error, i;
-	u32 look_ahead, adj;
+	u32 look_ahead, adj, sign;
 	s32 error2, mult;
 
 	/*
