lkml.org 
[lkml]   [2015]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/5] drivers/rtc/isl1208: Replace deprecated rtc_tm_to_time()
    Date
    From: Xunlei Pang <pang.xunlei@linaro.org>

    isl1208_i2c_set_alarm() uses deprecated rtc_tm_to_time(),
    which will overflow in year 2106 on 32-bit machines.

    This patch solves this by:
    - Replacing rtc_tm_to_time() with rtc_tm_to_time64()

    Cc: Herbert Valerio Riedel <hvr@gnu.org>
    Signed-off-by: Xunlei Pang <pang.xunlei@linaro.org>
    ---
    drivers/rtc/rtc-isl1208.c | 11 ++++-------
    1 file changed, 4 insertions(+), 7 deletions(-)

    diff --git a/drivers/rtc/rtc-isl1208.c b/drivers/rtc/rtc-isl1208.c
    index c3c549d..06113e8 100644
    --- a/drivers/rtc/rtc-isl1208.c
    +++ b/drivers/rtc/rtc-isl1208.c
    @@ -370,19 +370,16 @@ isl1208_i2c_set_alarm(struct i2c_client *client, struct rtc_wkalrm *alarm)
    struct rtc_time *alarm_tm = &alarm->time;
    u8 regs[ISL1208_ALARM_SECTION_LEN] = { 0, };
    const int offs = ISL1208_REG_SCA;
    - unsigned long rtc_secs, alarm_secs;
    + time64_t rtc_secs, alarm_secs;
    struct rtc_time rtc_tm;
    int err, enable;

    err = isl1208_i2c_read_time(client, &rtc_tm);
    if (err)
    return err;
    - err = rtc_tm_to_time(&rtc_tm, &rtc_secs);
    - if (err)
    - return err;
    - err = rtc_tm_to_time(alarm_tm, &alarm_secs);
    - if (err)
    - return err;
    +
    + rtc_secs = rtc_tm_to_time64(&rtc_tm);
    + alarm_secs = rtc_tm_to_time64(alarm_tm);

    /* If the alarm time is before the current time disable the alarm */
    if (!alarm->enabled || alarm_secs <= rtc_secs)
    --
    1.9.1



    \
     
     \ /
      Last update: 2015-04-15 12:01    [W:3.256 / U:0.756 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site