From: Benjamin Gaignard <benjamin.gaign...@linaro.org>

rtc_time_to_tm() and rtc_tm_to_time() are deprecated because they
rely on 32bits variables and that will make rtc break in y2038/2016.
Stop using those two functions to safer 64bits ones.

Cc: Arnd Bergmann <a...@arndb.de>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Ingo Molnar <mi...@kernel.org>
Cc: x...@kernel.org
Cc: Miroslav Lichvar <mlich...@redhat.com>
Cc: Richard Cochran <richardcoch...@gmail.com>
Cc: Prarit Bhargava <pra...@redhat.com>
Cc: Stephen Boyd <stephen.b...@linaro.org>
Cc: Alexandre Belloni <alexandre.bell...@free-electrons.com>
Signed-off-by: Benjamin Gaignard <benjamin.gaign...@linaro.org>
Signed-off-by: John Stultz <john.stu...@linaro.org>
---
 arch/x86/kernel/rtc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/rtc.c b/arch/x86/kernel/rtc.c
index 69ac9cb..f7b82ed 100644
--- a/arch/x86/kernel/rtc.c
+++ b/arch/x86/kernel/rtc.c
@@ -41,11 +41,11 @@ EXPORT_SYMBOL(rtc_lock);
  */
 int mach_set_rtc_mmss(const struct timespec *now)
 {
-       unsigned long nowtime = now->tv_sec;
+       unsigned long long nowtime = now->tv_sec;
        struct rtc_time tm;
        int retval = 0;
 
-       rtc_time_to_tm(nowtime, &tm);
+       rtc_time64_to_tm(nowtime, &tm);
        if (!rtc_valid_tm(&tm)) {
                retval = mc146818_set_time(&tm);
                if (retval)
@@ -53,7 +53,7 @@ int mach_set_rtc_mmss(const struct timespec *now)
                               __func__, retval);
        } else {
                printk(KERN_ERR
-                      "%s: Invalid RTC value: write of %lx to RTC failed\n",
+                      "%s: Invalid RTC value: write of %llx to RTC failed\n",
                        __func__, nowtime);
                retval = -EINVAL;
        }
-- 
2.7.4

Reply via email to