@@ -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);
@@ -58,6 +58,10 @@ static inline void getrawmonotonic(struct timespec *ts)
getrawmonotonic64(ts);
}
+static inline struct timespec get_monotonic_coarse(void)
+{
+ return get_monotonic_coarse64();
+}
#else
static inline int __getnstimeofday(struct timespec *ts)
{
@@ -99,6 +103,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);
@@ -1647,7 +1647,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;
@@ -1663,7 +1663,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;
}
/*
Adds a timespec64 based get_monotonic_coarse64() implementation that can be used as we convert internal users of get_monotonic_corase away from usingtimespecs. Cc: Arnd Bergmann <arnd.bergmann@linaro.org> Signed-off-by: John Stultz <john.stultz@linaro.org> --- include/linux/timekeeping.h | 11 ++++++++++- kernel/time/timekeeping.c | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-)