diff options
Diffstat (limited to 'include/linux/timekeeper_internal.h')
-rw-r--r-- | include/linux/timekeeper_internal.h | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/include/linux/timekeeper_internal.h b/include/linux/timekeeper_internal.h index a904d76a5faa..e1d558e237ec 100644 --- a/include/linux/timekeeper_internal.h +++ b/include/linux/timekeeper_internal.h | |||
@@ -66,16 +66,38 @@ struct timekeeper { | |||
66 | seqlock_t lock; | 66 | seqlock_t lock; |
67 | }; | 67 | }; |
68 | 68 | ||
69 | static inline struct timespec tk_xtime(struct timekeeper *tk) | ||
70 | { | ||
71 | struct timespec ts; | ||
72 | |||
73 | ts.tv_sec = tk->xtime_sec; | ||
74 | ts.tv_nsec = (long)(tk->xtime_nsec >> tk->shift); | ||
75 | return ts; | ||
76 | } | ||
77 | |||
78 | |||
79 | #ifdef CONFIG_GENERIC_TIME_VSYSCALL | ||
80 | |||
81 | extern void update_vsyscall(struct timekeeper *tk); | ||
82 | extern void update_vsyscall_tz(void); | ||
69 | 83 | ||
70 | #ifdef CONFIG_GENERIC_TIME_VSYSCALL_OLD | 84 | #elif defined(CONFIG_GENERIC_TIME_VSYSCALL_OLD) |
71 | extern void | 85 | |
72 | update_vsyscall_old(struct timespec *ts, struct timespec *wtm, | 86 | extern void update_vsyscall_old(struct timespec *ts, struct timespec *wtm, |
73 | struct clocksource *c, u32 mult); | 87 | struct clocksource *c, u32 mult); |
74 | extern void update_vsyscall_tz(void); | 88 | extern void update_vsyscall_tz(void); |
89 | |||
90 | static inline void update_vsyscall(struct timekeeper *tk) | ||
91 | { | ||
92 | struct timespec xt; | ||
93 | |||
94 | xt = tk_xtime(tk); | ||
95 | update_vsyscall_old(&xt, &tk->wall_to_monotonic, tk->clock, tk->mult); | ||
96 | } | ||
97 | |||
75 | #else | 98 | #else |
76 | static inline void | 99 | |
77 | update_vsyscall_old(struct timespec *ts, struct timespec *wtm, | 100 | static inline void update_vsyscall(struct timekeeper *tk) |
78 | struct clocksource *c, u32 mult) | ||
79 | { | 101 | { |
80 | } | 102 | } |
81 | static inline void update_vsyscall_tz(void) | 103 | static inline void update_vsyscall_tz(void) |