xref: /linux/kernel/time/timekeeping_internal.h (revision 04eeb606a8383b306f4bc6991da8231b5f3924b0)
1 #ifndef _TIMEKEEPING_INTERNAL_H
2 #define _TIMEKEEPING_INTERNAL_H
3 /*
4  * timekeeping debug functions
5  */
6 #include <linux/clocksource.h>
7 #include <linux/time.h>
8 
9 #ifdef CONFIG_DEBUG_FS
10 extern void tk_debug_account_sleep_time(struct timespec64 *t);
11 #else
12 #define tk_debug_account_sleep_time(x)
13 #endif
14 
15 #ifdef CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE
16 static inline cycle_t clocksource_delta(cycle_t now, cycle_t last, cycle_t mask)
17 {
18 	cycle_t ret = (now - last) & mask;
19 
20 	return (s64) ret > 0 ? ret : 0;
21 }
22 #else
23 static inline cycle_t clocksource_delta(cycle_t now, cycle_t last, cycle_t mask)
24 {
25 	return (now - last) & mask;
26 }
27 #endif
28 
29 #endif /* _TIMEKEEPING_INTERNAL_H */
30