timekeeping.h 907 B

123456789101112131415161718192021222324252627282930313233
  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. extern int timekeeping_valid_for_hres(void);
  12. extern u64 timekeeping_max_deferment(void);
  13. extern int timekeeping_inject_offset(struct timespec *ts);
  14. extern int timekeeping_suspend(void);
  15. extern void timekeeping_resume(void);
  16. #ifdef CONFIG_GENERIC_SCHED_CLOCK
  17. extern int sched_clock_suspend(void);
  18. extern void sched_clock_resume(void);
  19. #else
  20. static inline int sched_clock_suspend(void) { return 0; }
  21. static inline void sched_clock_resume(void) { }
  22. #endif
  23. extern void do_timer(unsigned long ticks);
  24. extern void update_wall_time(void);
  25. extern seqlock_t jiffies_lock;
  26. #define CS_NAME_LEN 32
  27. #endif