diff options
author | pang.xunlei <pang.xunlei@linaro.org> | 2014-11-18 19:15:17 +0800 |
---|---|---|
committer | John Stultz <john.stultz@linaro.org> | 2014-11-21 11:59:57 -0800 |
commit | 04d9089086a8231ddc69a9f3f25e971a3c1d25e6 (patch) | |
tree | 81cb703b3553469fad9356abac0563881dd405b4 /include/linux/timekeeping.h | |
parent | 21f7eca555ad14e7c7b2cb59a6c6252e74ee5c8b (diff) | |
download | talos-obmc-linux-04d9089086a8231ddc69a9f3f25e971a3c1d25e6.tar.gz talos-obmc-linux-04d9089086a8231ddc69a9f3f25e971a3c1d25e6.zip |
time: Provide y2038 safe timekeeping_inject_sleeptime() replacement
As part of addressing "y2038 problem" for in-kernel uses, this
patch adds timekeeping_inject_sleeptime64() using timespec64.
After this patch, timekeeping_inject_sleeptime() is deprecated
and all its call sites will be fixed using the new interface,
after that it can be removed.
NOTE: timekeeping_inject_sleeptime() is safe actually, but we
want to eliminate timespec eventually, so comes this patch.
Signed-off-by: pang.xunlei <pang.xunlei@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Diffstat (limited to 'include/linux/timekeeping.h')
-rw-r--r-- | include/linux/timekeeping.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/include/linux/timekeeping.h b/include/linux/timekeeping.h index 071ad7e0c981..6d76c6502892 100644 --- a/include/linux/timekeeping.h +++ b/include/linux/timekeeping.h @@ -201,7 +201,18 @@ static inline void timekeeping_clocktai(struct timespec *ts) /* * RTC specific */ -extern void timekeeping_inject_sleeptime(struct timespec *delta); +extern void timekeeping_inject_sleeptime64(struct timespec64 *delta); + +/** + * Deprecated. Use timekeeping_inject_sleeptime64(). + */ +static inline void timekeeping_inject_sleeptime(struct timespec *delta) +{ + struct timespec64 delta64; + + delta64 = timespec_to_timespec64(*delta); + timekeeping_inject_sleeptime64(&delta64); +} /* * PPS accessor |