forked from Minki/linux
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>
This commit is contained in:
parent
bc10aa93a8
commit
4ec2364f49
@ -304,12 +304,12 @@ static long rtc_dev_ioctl(struct file *file,
|
||||
* Not supported here.
|
||||
*/
|
||||
{
|
||||
unsigned long now, then;
|
||||
time64_t now, then;
|
||||
|
||||
err = rtc_read_time(rtc, &tm);
|
||||
if (err < 0)
|
||||
return err;
|
||||
rtc_tm_to_time(&tm, &now);
|
||||
now = rtc_tm_to_time64(&tm);
|
||||
|
||||
alarm.time.tm_mday = tm.tm_mday;
|
||||
alarm.time.tm_mon = tm.tm_mon;
|
||||
@ -317,11 +317,11 @@ static long rtc_dev_ioctl(struct file *file,
|
||||
err = rtc_valid_tm(&alarm.time);
|
||||
if (err < 0)
|
||||
return err;
|
||||
rtc_tm_to_time(&alarm.time, &then);
|
||||
then = rtc_tm_to_time64(&alarm.time);
|
||||
|
||||
/* alarm may need to wrap into tomorrow */
|
||||
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_mon = tm.tm_mon;
|
||||
alarm.time.tm_year = tm.tm_year;
|
||||
|
Loading…
Reference in New Issue
Block a user