Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
| 2 | #ifndef _KERNEL_TIME_TIMEKEEPING_H |
| 3 | #define _KERNEL_TIME_TIMEKEEPING_H |
| 4 | /* |
| 5 | * Internal interfaces for kernel/time/ |
| 6 | */ |
| 7 | extern ktime_t ktime_get_update_offsets_now(unsigned int *cwsseq, |
| 8 | ktime_t *offs_real, |
| 9 | ktime_t *offs_boot, |
| 10 | ktime_t *offs_tai); |
| 11 | |
| 12 | extern int timekeeping_valid_for_hres(void); |
| 13 | extern u64 timekeeping_max_deferment(void); |
| 14 | extern void timekeeping_warp_clock(void); |
| 15 | extern int timekeeping_suspend(void); |
| 16 | extern void timekeeping_resume(void); |
David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame] | 17 | #ifdef CONFIG_GENERIC_SCHED_CLOCK |
| 18 | extern int sched_clock_suspend(void); |
| 19 | extern void sched_clock_resume(void); |
| 20 | #else |
| 21 | static inline int sched_clock_suspend(void) { return 0; } |
| 22 | static inline void sched_clock_resume(void) { } |
| 23 | #endif |
Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 24 | |
| 25 | extern void do_timer(unsigned long ticks); |
| 26 | extern void update_wall_time(void); |
| 27 | |
Olivier Deprez | 157378f | 2022-04-04 15:47:50 +0200 | [diff] [blame^] | 28 | extern raw_spinlock_t jiffies_lock; |
| 29 | extern seqcount_t jiffies_seq; |
Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 30 | |
| 31 | #define CS_NAME_LEN 32 |
| 32 | |
| 33 | #endif |