On 20/06/2019 20:34:30+0200, Alexandre Belloni wrote:
> This allows further improvement of the driver.
> 
> Signed-off-by: Alexandre Belloni <[email protected]>
> ---
>  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

Reply via email to