blob: 23d1b74c30657002760ed59f3b4a1cf01a14097f [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
John Stultzaa6f9c592013-03-22 11:31:29 -07002#ifndef _LINUX_NTP_INTERNAL_H
3#define _LINUX_NTP_INTERNAL_H
4
5extern void ntp_init(void);
6extern void ntp_clear(void);
7/* Returns how long ticks are at present, in ns / 2^NTP_SCALE_SHIFT. */
8extern u64 ntp_tick_length(void);
John Stultz833f32d2015-06-11 15:54:55 -07009extern ktime_t ntp_get_next_leap(void);
DengChaoc7963482015-12-13 12:26:42 +080010extern int second_overflow(time64_t secs);
Ondrej Mosnacek7e8eda72019-04-10 11:14:20 +020011extern int __do_adjtimex(struct __kernel_timex *txc,
12 const struct timespec64 *ts,
13 s32 *time_tai, struct audit_ntp_data *ad);
Ondrej Mosnacek985e6952018-07-13 14:06:42 +020014extern void __hardpps(const struct timespec64 *phase_ts, const struct timespec64 *raw_ts);
Thomas Gleixnerc9e61892020-12-06 22:46:18 +010015
16#if defined(CONFIG_GENERIC_CMOS_UPDATE) || defined(CONFIG_RTC_SYSTOHC)
17extern void ntp_notify_cmos_timer(void);
18#else
19static inline void ntp_notify_cmos_timer(void) { }
20#endif
21
John Stultzaa6f9c592013-03-22 11:31:29 -070022#endif /* _LINUX_NTP_INTERNAL_H */