Commit 4ec2364f authored by Xunlei Pang's avatar Xunlei Pang Committed by John Stultz

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: default avatarXunlei Pang <pang.xunlei@linaro.org>
Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
parent bc10aa93
...@@ -304,12 +304,12 @@ static long rtc_dev_ioctl(struct file *file, ...@@ -304,12 +304,12 @@ static long rtc_dev_ioctl(struct file *file,
* Not supported here. * Not supported here.
*/ */
{ {
unsigned long now, then; time64_t now, then;
err = rtc_read_time(rtc, &tm); err = rtc_read_time(rtc, &tm);
if (err < 0) if (err < 0)
return err; return err;
rtc_tm_to_time(&tm, &now); now = rtc_tm_to_time64(&tm);
alarm.time.tm_mday = tm.tm_mday; alarm.time.tm_mday = tm.tm_mday;
alarm.time.tm_mon = tm.tm_mon; alarm.time.tm_mon = tm.tm_mon;
...@@ -317,11 +317,11 @@ static long rtc_dev_ioctl(struct file *file, ...@@ -317,11 +317,11 @@ static long rtc_dev_ioctl(struct file *file,
err = rtc_valid_tm(&alarm.time); err = rtc_valid_tm(&alarm.time);
if (err < 0) if (err < 0)
return err; return err;
rtc_tm_to_time(&alarm.time, &then); then = rtc_tm_to_time64(&alarm.time);
/* alarm may need to wrap into tomorrow */ /* alarm may need to wrap into tomorrow */
if (then < now) { if (then < now) {
rtc_time_to_tm(now + 24 * 60 * 60, &tm); rtc_time64_to_tm(now + 24 * 60 * 60, &tm);
alarm.time.tm_mday = tm.tm_mday; alarm.time.tm_mday = tm.tm_mday;
alarm.time.tm_mon = tm.tm_mon; alarm.time.tm_mon = tm.tm_mon;
alarm.time.tm_year = tm.tm_year; alarm.time.tm_year = tm.tm_year;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment