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 */
7extern 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
12extern int timekeeping_valid_for_hres(void);
13extern u64 timekeeping_max_deferment(void);
14extern void timekeeping_warp_clock(void);
15extern int timekeeping_suspend(void);
16extern void timekeeping_resume(void);
17#ifdef CONFIG_GENERIC_SCHED_CLOCK
18extern int sched_clock_suspend(void);
19extern void sched_clock_resume(void);
20#else
21static inline int sched_clock_suspend(void) { return 0; }
22static inline void sched_clock_resume(void) { }
23#endif
24
25extern void update_process_times(int user);
26extern void do_timer(unsigned long ticks);
27extern void update_wall_time(void);
28
29extern raw_spinlock_t jiffies_lock;
30extern seqcount_raw_spinlock_t jiffies_seq;
31
32#define CS_NAME_LEN	32
33
34#endif
35