diff mbox series

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

Message ID 20190620183433.30779-1-alexandre.belloni@bootlin.com
State Superseded
Headers show
Series [1/4] rtc: pcf2123: convert to devm_rtc_allocate_device | expand

Commit Message

Alexandre Belloni June 20, 2019, 6:34 p.m. UTC
This allows further improvement of the driver.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
---
 drivers/rtc/rtc-pcf2123.c | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

Comments

Alexandre Belloni June 20, 2019, 7:43 p.m. UTC | #1
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@bootlin.com>
> ---
>  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
>
diff mbox series

Patch

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;
+	}
 
 	return 0;