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

From: Alexandre Belloni
Date: Wed Aug 14 2019 - 06:09:34 EST


Hi,

On 14/08/2019 17:32:49+0800, Biwen Li wrote:
> Issue:
> # hwclock -w
> hwclock: RTC_SET_TIME: Invalid argument
>
> The patch fixes error when run command hwclock -w
> with rtc pcf85363/pcf85263
>

Could you describe a bit more the issue and what causes it?

IIRC I wrote that code and it works on my pcf85363.

> 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
>

--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com