time: Expose get_monotonic_coarse64() for in-kernel uses
authorJohn Stultz <john.stultz@linaro.org>
Fri, 7 Nov 2014 19:20:40 +0000 (11:20 -0800)
committerJohn Stultz <john.stultz@linaro.org>
Fri, 21 Nov 2014 19:59:59 +0000 (11:59 -0800)
Adds a timespec64 based get_monotonic_coarse64() implementation
that can be used as we convert internal users of
get_monotonic_coarse away from using timespecs.

Signed-off-by: John Stultz <john.stultz@linaro.org>
include/linux/timekeeping.h
kernel/time/timekeeping.c

index e40a8d60fb21adee2ace5fc7684475a6991b15d4..8cab4b754be76be957968970ef11ad642a8f4247 100644 (file)
@@ -25,7 +25,7 @@ struct timespec __current_kernel_time(void);
 /*
  * timespec based interfaces
  */
-struct timespec get_monotonic_coarse(void);
+struct timespec64 get_monotonic_coarse64(void);
 extern void getrawmonotonic64(struct timespec64 *ts);
 extern void ktime_get_ts64(struct timespec64 *ts);
 
@@ -66,6 +66,10 @@ static inline void getrawmonotonic(struct timespec *ts)
        getrawmonotonic64(ts);
 }
 
+static inline struct timespec get_monotonic_coarse(void)
+{
+       return get_monotonic_coarse64();
+}
 #else
 /**
  * Deprecated. Use do_settimeofday64().
@@ -118,6 +122,11 @@ static inline void getrawmonotonic(struct timespec *ts)
        getrawmonotonic64(&ts64);
        *ts = timespec64_to_timespec(ts64);
 }
+
+static inline struct timespec get_monotonic_coarse(void)
+{
+       return timespec64_to_timespec(get_monotonic_coarse64());
+}
 #endif
 
 extern void getboottime(struct timespec *ts);
index 2e5f632122697b28d0dab007ab6e1ea3207f3a47..f45e5e29a16de481194f0d8327fde61dbe0e2c4a 100644 (file)
@@ -1651,7 +1651,7 @@ struct timespec current_kernel_time(void)
 }
 EXPORT_SYMBOL(current_kernel_time);
 
-struct timespec get_monotonic_coarse(void)
+struct timespec64 get_monotonic_coarse64(void)
 {
        struct timekeeper *tk = &tk_core.timekeeper;
        struct timespec64 now, mono;
@@ -1667,7 +1667,7 @@ struct timespec get_monotonic_coarse(void)
        set_normalized_timespec64(&now, now.tv_sec + mono.tv_sec,
                                now.tv_nsec + mono.tv_nsec);
 
-       return timespec64_to_timespec(now);
+       return now;
 }
 
 /*