Re: [PATCH v3 1/4] drivers/rtc/pcf8563: Replace deprecated rtc_time_to_tm() and rtc_tm_to_time()

From: Alexandre Belloni
Date: Fri Jun 12 2015 - 04:40:37 EST


Hi Xunlei,

Just to let you know that your series are usually classified as spam
when coming from 126.com. This series in particular didn't make it to
the mailing list.

I'll take it anyway but you may want to check that your other patches
are being received by the maintainers.

On 12/06/2015 at 10:04:09 +0800, Xunlei Pang wrote :
> From: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
>
> pcf8563_rtc_set_alarm() uses deprecated rtc_tm_to_time()
> and rtc_time_to_tm(), which will overflow in year 2106
> on 32-bit machines.
>
> This patch solves this by:
> - Replacing rtc_time_to_tm() with rtc_time64_to_tm()
> - Replacing rtc_tm_to_time() with rtc_tm_to_time64()
>
> Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
> Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
> ---
> v2->v3:
> no changes.
>
> drivers/rtc/rtc-pcf8563.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/rtc/rtc-pcf8563.c b/drivers/rtc/rtc-pcf8563.c
> index 0ba7e59..5f87f84 100644
> --- a/drivers/rtc/rtc-pcf8563.c
> +++ b/drivers/rtc/rtc-pcf8563.c
> @@ -363,13 +363,13 @@ static int pcf8563_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *tm)
> struct i2c_client *client = to_i2c_client(dev);
> unsigned char buf[4];
> int err;
> - unsigned long alarm_time;
>
> /* The alarm has no seconds, round up to nearest minute */
> if (tm->time.tm_sec) {
> - rtc_tm_to_time(&tm->time, &alarm_time);
> - alarm_time += 60-tm->time.tm_sec;
> - rtc_time_to_tm(alarm_time, &tm->time);
> + time64_t alarm_time = rtc_tm_to_time64(&tm->time);
> +
> + alarm_time += 60 - tm->time.tm_sec;
> + rtc_time64_to_tm(alarm_time, &tm->time);
> }
>
> dev_dbg(dev, "%s, min=%d hour=%d wday=%d mday=%d "
> --
> 1.9.1
>
>

--
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/