#ifndef _LINUX_TIMEKEEPING32_H #define _LINUX_TIMEKEEPING32_H /* * These interfaces are all based on the old timespec type * and should get replaced with the timespec64 based versions * over time so we can remove the file here. */ static inline void do_gettimeofday(struct timeval *tv) { struct timespec64 now; ktime_get_real_ts64(&now); tv->tv_sec = now.tv_sec; tv->tv_usec = now.tv_nsec/1000; } static inline unsigned long get_seconds(void) { return ktime_get_real_seconds(); } static inline void getnstimeofday(struct timespec *ts) { struct timespec64 ts64; ktime_get_real_ts64(&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 getrawmonotonic(struct timespec *ts) { struct timespec64 ts64; ktime_get_raw_ts64(&ts64); *ts = timespec64_to_timespec(ts64); } static inline void getboottime(struct timespec *ts) { struct timespec64 ts64; getboottime64(&ts64); *ts = timespec64_to_timespec(ts64); } /* * Persistent clock related interfaces */ extern void read_persistent_clock(struct timespec *ts); extern int update_persistent_clock(struct timespec now); #endif