1 #ifndef _LINUX_TIMEKEEPING32_H
2 #define _LINUX_TIMEKEEPING32_H
4 * These interfaces are all based on the old timespec type
5 * and should get replaced with the timespec64 based versions
6 * over time so we can remove the file here.
9 static inline void do_gettimeofday(struct timeval *tv)
11 struct timespec64 now;
13 ktime_get_real_ts64(&now);
14 tv->tv_sec = now.tv_sec;
15 tv->tv_usec = now.tv_nsec/1000;
18 static inline unsigned long get_seconds(void)
20 return ktime_get_real_seconds();
23 static inline void getnstimeofday(struct timespec *ts)
25 struct timespec64 ts64;
27 ktime_get_real_ts64(&ts64);
28 *ts = timespec64_to_timespec(ts64);
31 static inline void ktime_get_ts(struct timespec *ts)
33 struct timespec64 ts64;
35 ktime_get_ts64(&ts64);
36 *ts = timespec64_to_timespec(ts64);
39 static inline void getrawmonotonic(struct timespec *ts)
41 struct timespec64 ts64;
43 ktime_get_raw_ts64(&ts64);
44 *ts = timespec64_to_timespec(ts64);
47 static inline void getboottime(struct timespec *ts)
49 struct timespec64 ts64;
52 *ts = timespec64_to_timespec(ts64);
56 * Persistent clock related interfaces
58 extern void read_persistent_clock(struct timespec *ts);
59 extern int update_persistent_clock(struct timespec now);