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>
This commit is contained in:
pang.xunlei
2014-11-18 19:15:17 +08:00
committed by John Stultz
parent 21f7eca555
commit 04d9089086
2 changed files with 16 additions and 7 deletions

View File

@@ -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