]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blob - include/linux/timekeeping32.h
Merge tag 'trace-v4.20-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[mirror_ubuntu-eoan-kernel.git] / include / linux / timekeeping32.h
1 #ifndef _LINUX_TIMEKEEPING32_H
2 #define _LINUX_TIMEKEEPING32_H
3 /*
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.
7 */
8
9 static inline void do_gettimeofday(struct timeval *tv)
10 {
11 struct timespec64 now;
12
13 ktime_get_real_ts64(&now);
14 tv->tv_sec = now.tv_sec;
15 tv->tv_usec = now.tv_nsec/1000;
16 }
17
18 static inline unsigned long get_seconds(void)
19 {
20 return ktime_get_real_seconds();
21 }
22
23 static inline void getnstimeofday(struct timespec *ts)
24 {
25 struct timespec64 ts64;
26
27 ktime_get_real_ts64(&ts64);
28 *ts = timespec64_to_timespec(ts64);
29 }
30
31 static inline void ktime_get_ts(struct timespec *ts)
32 {
33 struct timespec64 ts64;
34
35 ktime_get_ts64(&ts64);
36 *ts = timespec64_to_timespec(ts64);
37 }
38
39 static inline void getrawmonotonic(struct timespec *ts)
40 {
41 struct timespec64 ts64;
42
43 ktime_get_raw_ts64(&ts64);
44 *ts = timespec64_to_timespec(ts64);
45 }
46
47 static inline void getboottime(struct timespec *ts)
48 {
49 struct timespec64 ts64;
50
51 getboottime64(&ts64);
52 *ts = timespec64_to_timespec(ts64);
53 }
54
55 /*
56 * Persistent clock related interfaces
57 */
58 extern void read_persistent_clock(struct timespec *ts);
59 extern int update_persistent_clock(struct timespec now);
60
61 #endif