aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXunlei Pang <pang.xunlei@linaro.org>2015-01-21 21:31:52 -0500
committerJohn Stultz <john.stultz@linaro.org>2015-01-23 20:21:56 -0500
commit4ec2364f4910234030906b3f824b51c0d7065334 (patch)
tree91441ff20b60d935b4fbede82d81d035f81d8bed
parentbc10aa93a8853d6dac820696ae9a3e757e19f315 (diff)
rtc: Update rtc-dev to use y2038-safe time interfaces
Currently, rtc-dev.c uses y2038 problematic rtc_tm_to_time() and rtc_time_to_tm(). So replace them with their corresponding y2038-safe versions: rtc_tm_to_time64() and rtc_time64_to_tm(). Cc: pang.xunlei <pang.xunlei@linaro.org> Cc: Arnd Bergmann <arnd.bergmann@linaro.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@kernel.org> Signed-off-by: Xunlei Pang <pang.xunlei@linaro.org> Signed-off-by: John Stultz <john.stultz@linaro.org>
-rw-r--r--drivers/rtc/rtc-dev.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/rtc/rtc-dev.c b/drivers/rtc/rtc-dev.c
index d04939369251..799c34bcb26f 100644
--- a/drivers/rtc/rtc-dev.c
+++ b/drivers/rtc/rtc-dev.c
@@ -304,12 +304,12 @@ static long rtc_dev_ioctl(struct file *file,
304 * Not supported here. 304 * Not supported here.
305 */ 305 */
306 { 306 {
307 unsigned long now, then; 307 time64_t now, then;
308 308
309 err = rtc_read_time(rtc, &tm); 309 err = rtc_read_time(rtc, &tm);
310 if (err < 0) 310 if (err < 0)
311 return err; 311 return err;
312 rtc_tm_to_time(&tm, &now); 312 now = rtc_tm_to_time64(&tm);
313 313
314 alarm.time.tm_mday = tm.tm_mday; 314 alarm.time.tm_mday = tm.tm_mday;
315 alarm.time.tm_mon = tm.tm_mon; 315 alarm.time.tm_mon = tm.tm_mon;
@@ -317,11 +317,11 @@ static long rtc_dev_ioctl(struct file *file,
317 err = rtc_valid_tm(&alarm.time); 317 err = rtc_valid_tm(&alarm.time);
318 if (err < 0) 318 if (err < 0)
319 return err; 319 return err;
320 rtc_tm_to_time(&alarm.time, &then); 320 then = rtc_tm_to_time64(&alarm.time);
321 321
322 /* alarm may need to wrap into tomorrow */ 322 /* alarm may need to wrap into tomorrow */
323 if (then < now) { 323 if (then < now) {
324 rtc_time_to_tm(now + 24 * 60 * 60, &tm); 324 rtc_time64_to_tm(now + 24 * 60 * 60, &tm);
325 alarm.time.tm_mday = tm.tm_mday; 325 alarm.time.tm_mday = tm.tm_mday;
326 alarm.time.tm_mon = tm.tm_mon; 326 alarm.time.tm_mon = tm.tm_mon;
327 alarm.time.tm_year = tm.tm_year; 327 alarm.time.tm_year = tm.tm_year;