blob: 704f595ce83f03090f3f6d63a4d792703b4084a4 [file] [log] [blame]
Thomas Gleixner8b094cd2014-07-16 21:04:02 +00001#ifndef _KERNEL_TIME_TIMEKEEPING_H
2#define _KERNEL_TIME_TIMEKEEPING_H
3/*
4 * Internal interfaces for kernel/time/
5 */
Thomas Gleixner868a3e92015-04-14 21:08:37 +00006extern ktime_t ktime_get_update_offsets_now(unsigned int *cwsseq,
7 ktime_t *offs_real,
8 ktime_t *offs_boot,
9 ktime_t *offs_tai);
Thomas Gleixner8b094cd2014-07-16 21:04:02 +000010
11extern int timekeeping_valid_for_hres(void);
12extern u64 timekeeping_max_deferment(void);
13extern int timekeeping_inject_offset(struct timespec *ts);
14extern s32 timekeeping_get_tai_offset(void);
15extern void timekeeping_set_tai_offset(s32 tai_offset);
Rafael J. Wysocki124cf9112015-02-13 23:50:43 +010016extern int timekeeping_suspend(void);
17extern void timekeeping_resume(void);
Thomas Gleixner8b094cd2014-07-16 21:04:02 +000018
Thomas Gleixnerbfb83b22015-03-25 13:06:04 +010019extern void do_timer(unsigned long ticks);
20extern void update_wall_time(void);
21
22extern seqlock_t jiffies_lock;
23
24#define CS_NAME_LEN 32
25
Thomas Gleixner8b094cd2014-07-16 21:04:02 +000026#endif