diff options
author | John Stultz <john.stultz@linaro.org> | 2014-11-07 14:20:40 -0500 |
---|---|---|
committer | John Stultz <john.stultz@linaro.org> | 2014-11-21 14:59:59 -0500 |
commit | 334334b5f577a2255e29d2352d53197d9b796511 (patch) | |
tree | 83fb788bace70018a3fa957066aec209728e40ad | |
parent | cdba2ec538d9843c42cac15ff4ec54dc2ac53f8a (diff) |
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>
-rw-r--r-- | include/linux/timekeeping.h | 11 | ||||
-rw-r--r-- | kernel/time/timekeeping.c | 4 |
2 files changed, 12 insertions, 3 deletions
diff --git a/include/linux/timekeeping.h b/include/linux/timekeeping.h index e40a8d60fb21..8cab4b754be7 100644 --- a/include/linux/timekeeping.h +++ b/include/linux/timekeeping.h | |||
@@ -25,7 +25,7 @@ struct timespec __current_kernel_time(void); | |||
25 | /* | 25 | /* |
26 | * timespec based interfaces | 26 | * timespec based interfaces |
27 | */ | 27 | */ |
28 | struct timespec get_monotonic_coarse(void); | 28 | struct timespec64 get_monotonic_coarse64(void); |
29 | extern void getrawmonotonic64(struct timespec64 *ts); | 29 | extern void getrawmonotonic64(struct timespec64 *ts); |
30 | extern void ktime_get_ts64(struct timespec64 *ts); | 30 | extern void ktime_get_ts64(struct timespec64 *ts); |
31 | 31 | ||
@@ -66,6 +66,10 @@ static inline void getrawmonotonic(struct timespec *ts) | |||
66 | getrawmonotonic64(ts); | 66 | getrawmonotonic64(ts); |
67 | } | 67 | } |
68 | 68 | ||
69 | static inline struct timespec get_monotonic_coarse(void) | ||
70 | { | ||
71 | return get_monotonic_coarse64(); | ||
72 | } | ||
69 | #else | 73 | #else |
70 | /** | 74 | /** |
71 | * Deprecated. Use do_settimeofday64(). | 75 | * Deprecated. Use do_settimeofday64(). |
@@ -118,6 +122,11 @@ static inline void getrawmonotonic(struct timespec *ts) | |||
118 | getrawmonotonic64(&ts64); | 122 | getrawmonotonic64(&ts64); |
119 | *ts = timespec64_to_timespec(ts64); | 123 | *ts = timespec64_to_timespec(ts64); |
120 | } | 124 | } |
125 | |||
126 | static inline struct timespec get_monotonic_coarse(void) | ||
127 | { | ||
128 | return timespec64_to_timespec(get_monotonic_coarse64()); | ||
129 | } | ||
121 | #endif | 130 | #endif |
122 | 131 | ||
123 | extern void getboottime(struct timespec *ts); | 132 | extern void getboottime(struct timespec *ts); |
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 2e5f63212269..f45e5e29a16d 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c | |||
@@ -1651,7 +1651,7 @@ struct timespec current_kernel_time(void) | |||
1651 | } | 1651 | } |
1652 | EXPORT_SYMBOL(current_kernel_time); | 1652 | EXPORT_SYMBOL(current_kernel_time); |
1653 | 1653 | ||
1654 | struct timespec get_monotonic_coarse(void) | 1654 | struct timespec64 get_monotonic_coarse64(void) |
1655 | { | 1655 | { |
1656 | struct timekeeper *tk = &tk_core.timekeeper; | 1656 | struct timekeeper *tk = &tk_core.timekeeper; |
1657 | struct timespec64 now, mono; | 1657 | struct timespec64 now, mono; |
@@ -1667,7 +1667,7 @@ struct timespec get_monotonic_coarse(void) | |||
1667 | set_normalized_timespec64(&now, now.tv_sec + mono.tv_sec, | 1667 | set_normalized_timespec64(&now, now.tv_sec + mono.tv_sec, |
1668 | now.tv_nsec + mono.tv_nsec); | 1668 | now.tv_nsec + mono.tv_nsec); |
1669 | 1669 | ||
1670 | return timespec64_to_timespec(now); | 1670 | return now; |
1671 | } | 1671 | } |
1672 | 1672 | ||
1673 | /* | 1673 | /* |