Re: [PATCH 1/4] rtc: pcf2123: convert to devm_rtc_allocate_device

From: Alexandre Belloni
Date: Thu Jun 20 2019 - 15:44:05 EST


On 20/06/2019 20:34:30+0200, Alexandre Belloni wrote:
> This allows further improvement of the driver.
>
> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
> ---
> drivers/rtc/rtc-pcf2123.c | 24 +++++++++++++++---------
> 1 file changed, 15 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/rtc/rtc-pcf2123.c b/drivers/rtc/rtc-pcf2123.c
> index e8100af789ef..29e09ff57f89 100644
> --- a/drivers/rtc/rtc-pcf2123.c
> +++ b/drivers/rtc/rtc-pcf2123.c
> @@ -411,14 +411,9 @@ static int pcf2123_probe(struct spi_device *spi)
> (spi->max_speed_hz + 500) / 1000);
>
> /* Finalize the initialization */
> - rtc = devm_rtc_device_register(&spi->dev, pcf2123_driver.driver.name,
> - &pcf2123_rtc_ops, THIS_MODULE);
> -
> - if (IS_ERR(rtc)) {
> - dev_err(&spi->dev, "failed to register.\n");
> - ret = PTR_ERR(rtc);
> - goto kfree_exit;
> - }
> + rtc = devm_rtc_allocate_device(&spi->dev);
> + if (IS_ERR(rtc))
> + return PTR_ERR(rtc);
>
> pdata->rtc = rtc;
>
> @@ -438,7 +433,18 @@ static int pcf2123_probe(struct spi_device *spi)
> * support to this driver to generate interrupts more than once
> * per minute.
> */
> - pdata->rtc->uie_unsupported = 1;
> + rtc->uie_unsupported = 1;
> + rtc->ops = &pcf2123_rtc_ops;
> +
> + ret = rtc_register_device(rtc);
> + if (ret)
> + return ret;
> +
> + if (IS_ERR(rtc)) {
> + dev_err(&spi->dev, "failed to register.\n");
> + ret = PTR_ERR(rtc);
> + goto kfree_exit;
> + }
>

I need to rework that part, I'll resend...

> return 0;
>
> --
> 2.21.0
>

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