timekeeping: create arch_gettimeoffset infrastructure
[linux-2.6] / kernel / time / timekeeping.c
index 687dff4..e97c50f 100644 (file)
@@ -77,6 +77,10 @@ static void clocksource_forward_now(void)
        clock->cycle_last = cycle_now;
 
        nsec = cyc2ns(clock, cycle_delta);
+
+       /* If arch requires, add in gettimeoffset() */
+       nsec += arch_gettimeoffset();
+
        timespec_add_ns(&xtime, nsec);
 
        nsec = ((s64)cycle_delta * clock->mult_orig) >> clock->shift;
@@ -111,6 +115,9 @@ void getnstimeofday(struct timespec *ts)
                /* convert to nanoseconds: */
                nsecs = cyc2ns(clock, cycle_delta);
 
+               /* If arch requires, add in gettimeoffset() */
+               nsecs += arch_gettimeoffset();
+
        } while (read_seqretry(&xtime_lock, seq));
 
        timespec_add_ns(ts, nsecs);