RE: rtc: pcf85363/pcf85263: fix error that failed to run hwclock -w

From: Leo Li
Date: Wed Aug 14 2019 - 14:39:27 EST




> -----Original Message-----
> From: Biwen Li <biwen.li@xxxxxxx>
> Sent: Wednesday, August 14, 2019 4:33 AM
> To: a.zummo@xxxxxxxxxxxx; alexandre.belloni@xxxxxxxxxxx; Leo Li
> <leoyang.li@xxxxxxx>
> Cc: linux-rtc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Biwen Li
> <biwen.li@xxxxxxx>
> Subject: rtc: pcf85363/pcf85263: fix error that failed to run hwclock -w
>
> Issue:
> # hwclock -w
> hwclock: RTC_SET_TIME: Invalid argument
>
> The patch fixes error when run command hwclock -w
> with rtc pcf85363/pcf85263

Can you explain a little bit more in the commit message on how the changes fix the above issue? It is not that clear just from the code.

>
> Signed-off-by: Biwen Li <biwen.li@xxxxxxx>
> ---
> drivers/rtc/rtc-pcf85363.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/rtc/rtc-pcf85363.c b/drivers/rtc/rtc-pcf85363.c
> index a075e77617dc..3450d615974d 100644
> --- a/drivers/rtc/rtc-pcf85363.c
> +++ b/drivers/rtc/rtc-pcf85363.c
> @@ -166,7 +166,12 @@ static int pcf85363_rtc_set_time(struct device *dev,
> struct rtc_time *tm)
> buf[DT_YEARS] = bin2bcd(tm->tm_year % 100);
>
> ret = regmap_bulk_write(pcf85363->regmap, CTRL_STOP_EN,
> - tmp, sizeof(tmp));
> + tmp, 2);
> + if (ret)
> + return ret;
> +
> + ret = regmap_bulk_write(pcf85363->regmap, DT_100THS,
> + buf, sizeof(tmp) - 2);
> if (ret)
> return ret;
>
> --
> 2.17.1