Browse Source

time: Expose get_monotonic_coarse64() for in-kernel uses

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>
John Stultz 11 years ago
parent
commit
334334b5f5
2 changed files with 12 additions and 3 deletions
  1. 10 1
      include/linux/timekeeping.h
  2. 2 2
      kernel/time/timekeeping.c

+ 10 - 1
include/linux/timekeeping.h

@@ -25,7 +25,7 @@ struct timespec __current_kernel_time(void);
 /*
 /*
  * timespec based interfaces
  * timespec based interfaces
  */
  */
-struct timespec get_monotonic_coarse(void);
+struct timespec64 get_monotonic_coarse64(void);
 extern void getrawmonotonic64(struct timespec64 *ts);
 extern void getrawmonotonic64(struct timespec64 *ts);
 extern void ktime_get_ts64(struct timespec64 *ts);
 extern void ktime_get_ts64(struct timespec64 *ts);
 
 
@@ -66,6 +66,10 @@ static inline void getrawmonotonic(struct timespec *ts)
 	getrawmonotonic64(ts);
 	getrawmonotonic64(ts);
 }
 }
 
 
+static inline struct timespec get_monotonic_coarse(void)
+{
+	return get_monotonic_coarse64();
+}
 #else
 #else
 /**
 /**
  * Deprecated. Use do_settimeofday64().
  * Deprecated. Use do_settimeofday64().
@@ -118,6 +122,11 @@ static inline void getrawmonotonic(struct timespec *ts)
 	getrawmonotonic64(&ts64);
 	getrawmonotonic64(&ts64);
 	*ts = timespec64_to_timespec(ts64);
 	*ts = timespec64_to_timespec(ts64);
 }
 }
+
+static inline struct timespec get_monotonic_coarse(void)
+{
+	return timespec64_to_timespec(get_monotonic_coarse64());
+}
 #endif
 #endif
 
 
 extern void getboottime(struct timespec *ts);
 extern void getboottime(struct timespec *ts);

+ 2 - 2
kernel/time/timekeeping.c

@@ -1651,7 +1651,7 @@ struct timespec current_kernel_time(void)
 }
 }
 EXPORT_SYMBOL(current_kernel_time);
 EXPORT_SYMBOL(current_kernel_time);
 
 
-struct timespec get_monotonic_coarse(void)
+struct timespec64 get_monotonic_coarse64(void)
 {
 {
 	struct timekeeper *tk = &tk_core.timekeeper;
 	struct timekeeper *tk = &tk_core.timekeeper;
 	struct timespec64 now, mono;
 	struct timespec64 now, mono;
@@ -1667,7 +1667,7 @@ struct timespec get_monotonic_coarse(void)
 	set_normalized_timespec64(&now, now.tv_sec + mono.tv_sec,
 	set_normalized_timespec64(&now, now.tv_sec + mono.tv_sec,
 				now.tv_nsec + mono.tv_nsec);
 				now.tv_nsec + mono.tv_nsec);
 
 
-	return timespec64_to_timespec(now);
+	return now;
 }
 }
 
 
 /*
 /*