RE: [PATCH 14/51] rtc: da9063: stop using rtc deprecated functions
From: Steve Twiss
Date: Tue Jun 20 2017 - 09:41:10 EST
Hi Benjamin,
On 20 June 2017 10:35, Benjamin Gaignard wrote:
> Subject: [PATCH 14/51] rtc: da9063: stop using rtc deprecated functions
Probably this subject should be "rtc: da9052" not 63.
> 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.
>
[...]
> ---
> drivers/rtc/rtc-da9052.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/rtc/rtc-da9052.c b/drivers/rtc/rtc-da9052.c
> index 4273377..99a0489 100644
> --- a/drivers/rtc/rtc-da9052.c
> +++ b/drivers/rtc/rtc-da9052.c
> @@ -104,17 +104,15 @@ static int da9052_read_alarm(struct da9052_rtc
> *rtc, struct rtc_time *rtc_tm)
> static int da9052_set_alarm(struct da9052_rtc *rtc, struct rtc_time *rtc_tm)
> {
> struct da9052 *da9052 = rtc->da9052;
> - unsigned long alm_time;
> + unsigned long long alm_time;
> int ret;
> uint8_t v[3];
>
> - ret = rtc_tm_to_time(rtc_tm, &alm_time);
> - if (ret != 0)
> - return ret;
> + alm_time = rtc_tm_to_time64(rtc_tm);
But they kind of use the same functions anyway.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/rtc.h?h=v4.12-rc6#n35
And I think they they are abstracted on purpose.
The DA9052/53 hardware can only handle alarms up to the end of 2063.
Regards,
Steve