The struct timespec is not y2038 safe on 32bit systems, thus this patch
converts the read_persistent_clock() to read_persistent_clock64() with
using struct timespec64. We also use time64_t type to record system time
by converting the mktime() to mktime64() .

Signed-off-by: Baolin Wang <baolin.w...@linaro.org>
---
 arch/frv/kernel/time.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/frv/kernel/time.c b/arch/frv/kernel/time.c
index 332e00b..5f5e90e 100644
--- a/arch/frv/kernel/time.c
+++ b/arch/frv/kernel/time.c
@@ -85,7 +85,7 @@ void time_divisor_init(void)
 }
 
 
-void read_persistent_clock(struct timespec *ts)
+void read_persistent_clock64(struct timespec64 *ts)
 {
        unsigned int year, mon, day, hour, min, sec;
 
@@ -101,7 +101,7 @@ void read_persistent_clock(struct timespec *ts)
 
        if ((year += 1900) < 1970)
                year += 100;
-       ts->tv_sec = mktime(year, mon, day, hour, min, sec);
+       ts->tv_sec = mktime64(year, mon, day, hour, min, sec);
        ts->tv_nsec = 0;
 }
 
-- 
1.7.9.5

Reply via email to