timekeeping: Use ktime_t data for ktime_get_update_offsets_now()
authorThomas Gleixner <tglx@linutronix.de>
Wed, 16 Jul 2014 21:04:19 +0000 (21:04 +0000)
committerJohn Stultz <john.stultz@linaro.org>
Wed, 23 Jul 2014 17:18:00 +0000 (10:18 -0700)
No need to juggle with timespecs.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <john.stultz@linaro.org>
kernel/time/timekeeping.c

index c083ae2..54d9052 100644 (file)
@@ -1668,14 +1668,14 @@ ktime_t ktime_get_update_offsets_now(ktime_t *offs_real, ktime_t *offs_boot,
                                                        ktime_t *offs_tai)
 {
        struct timekeeper *tk = &tk_core.timekeeper;
-       ktime_t now;
        unsigned int seq;
-       u64 secs, nsecs;
+       ktime_t base;
+       u64 nsecs;
 
        do {
                seq = read_seqcount_begin(&tk_core.seq);
 
-               secs = tk->xtime_sec;
+               base = tk->base_mono;
                nsecs = timekeeping_get_ns(tk);
 
                *offs_real = tk->offs_real;
@@ -1683,9 +1683,7 @@ ktime_t ktime_get_update_offsets_now(ktime_t *offs_real, ktime_t *offs_boot,
                *offs_tai = tk->offs_tai;
        } while (read_seqcount_retry(&tk_core.seq, seq));
 
-       now = ktime_add_ns(ktime_set(secs, 0), nsecs);
-       now = ktime_sub(now, *offs_real);
-       return now;
+       return ktime_add_ns(base, nsecs);
 }
 #endif