/*
* Get and set timeofday
*/
- extern void do_gettimeofday(struct timeval *tv);
extern int do_settimeofday64(const struct timespec64 *ts);
extern int do_sys_settimeofday64(const struct timespec64 *tv,
const struct timezone *tz);
/*
* Kernel time accessors
*/
- unsigned long get_seconds(void);
struct timespec64 current_kernel_time64(void);
- /* does not take xtime_lock */
- struct timespec __current_kernel_time(void);
-
- static inline struct timespec current_kernel_time(void)
- {
- struct timespec64 now = current_kernel_time64();
-
- return timespec64_to_timespec(now);
- }
/*
- * timespec based interfaces
+ * timespec64 based interfaces
*/
struct timespec64 get_monotonic_coarse64(void);
extern void getrawmonotonic64(struct timespec64 *ts);
extern void getnstimeofday64(struct timespec64 *tv);
extern void getboottime64(struct timespec64 *ts);
- #if BITS_PER_LONG == 64
- /**
- * Deprecated. Use do_settimeofday64().
- */
- static inline int do_settimeofday(const struct timespec *ts)
- {
- return do_settimeofday64(ts);
- }
-
- static inline int __getnstimeofday(struct timespec *ts)
- {
- return __getnstimeofday64(ts);
- }
-
- static inline void getnstimeofday(struct timespec *ts)
- {
- getnstimeofday64(ts);
- }
-
- static inline void ktime_get_ts(struct timespec *ts)
- {
- ktime_get_ts64(ts);
- }
-
- static inline void ktime_get_real_ts(struct timespec *ts)
- {
- getnstimeofday64(ts);
- }
-
- static inline void getrawmonotonic(struct timespec *ts)
- {
- getrawmonotonic64(ts);
- }
-
- static inline struct timespec get_monotonic_coarse(void)
- {
- return get_monotonic_coarse64();
- }
-
- static inline void getboottime(struct timespec *ts)
- {
- return getboottime64(ts);
- }
- #else
- /**
- * Deprecated. Use do_settimeofday64().
- */
- static inline int do_settimeofday(const struct timespec *ts)
- {
- struct timespec64 ts64;
-
- ts64 = timespec_to_timespec64(*ts);
- return do_settimeofday64(&ts64);
- }
-
- static inline int __getnstimeofday(struct timespec *ts)
- {
- struct timespec64 ts64;
- int ret = __getnstimeofday64(&ts64);
-
- *ts = timespec64_to_timespec(ts64);
- return ret;
- }
-
- static inline void getnstimeofday(struct timespec *ts)
- {
- struct timespec64 ts64;
-
- getnstimeofday64(&ts64);
- *ts = timespec64_to_timespec(ts64);
- }
-
- static inline void ktime_get_ts(struct timespec *ts)
- {
- struct timespec64 ts64;
-
- ktime_get_ts64(&ts64);
- *ts = timespec64_to_timespec(ts64);
- }
-
- static inline void ktime_get_real_ts(struct timespec *ts)
- {
- struct timespec64 ts64;
-
- getnstimeofday64(&ts64);
- *ts = timespec64_to_timespec(ts64);
- }
-
- static inline void getrawmonotonic(struct timespec *ts)
- {
- struct timespec64 ts64;
-
- getrawmonotonic64(&ts64);
- *ts = timespec64_to_timespec(ts64);
- }
-
- static inline struct timespec get_monotonic_coarse(void)
- {
- return timespec64_to_timespec(get_monotonic_coarse64());
- }
-
- static inline void getboottime(struct timespec *ts)
- {
- struct timespec64 ts64;
-
- getboottime64(&ts64);
- *ts = timespec64_to_timespec(ts64);
- }
- #endif
-
#define ktime_get_real_ts64(ts) getnstimeofday64(ts)
/*
extern u64 ktime_get_mono_fast_ns(void);
extern u64 ktime_get_raw_fast_ns(void);
extern u64 ktime_get_boot_fast_ns(void);
+ extern u64 ktime_get_real_fast_ns(void);
/*
- * Timespec interfaces utilizing the ktime based ones
+ * timespec64 interfaces utilizing the ktime based ones
*/
- static inline void get_monotonic_boottime(struct timespec *ts)
- {
- *ts = ktime_to_timespec(ktime_get_boottime());
- }
-
static inline void get_monotonic_boottime64(struct timespec64 *ts)
{
*ts = ktime_to_timespec64(ktime_get_boottime());
}
- static inline void timekeeping_clocktai(struct timespec *ts)
- {
- *ts = ktime_to_timespec(ktime_get_clocktai());
- }
-
static inline void timekeeping_clocktai64(struct timespec64 *ts)
{
*ts = ktime_to_timespec64(ktime_get_clocktai());
extern void timekeeping_inject_sleeptime64(struct timespec64 *delta);
-/*
- * PPS accessor
- */
-extern void ktime_get_raw_and_real_ts64(struct timespec64 *ts_raw,
- struct timespec64 *ts_real);
-
/*
* struct system_time_snapshot - simultaneous raw/real time capture with
* counter value
*/
extern int persistent_clock_is_local;
- extern void read_persistent_clock(struct timespec *ts);
extern void read_persistent_clock64(struct timespec64 *ts);
extern void read_boot_clock64(struct timespec64 *ts);
- extern int update_persistent_clock(struct timespec now);
extern int update_persistent_clock64(struct timespec64 now);