rtc: davinci: convert to devm_rtc_allocate_device
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Thu, 5 Mar 2020 21:50:19 +0000 (22:50 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 16 Mar 2020 10:12:09 +0000 (11:12 +0100)
This allows further improvement of the driver. Also remove the unnecessary
error string as the core will already display error messages.

Link: https://lore.kernel.org/r/20200305215022.32533-1-alexandre.belloni@bootlin.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-davinci.c

index 390b7351e0fe62cda4c0ba1ff90b4e16a8d70b7f..d620d147c604bcd049ecaeea6ef6f2fa67670fd6 100644 (file)
@@ -485,13 +485,11 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
 
        platform_set_drvdata(pdev, davinci_rtc);
 
-       davinci_rtc->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,
-                                   &davinci_rtc_ops, THIS_MODULE);
-       if (IS_ERR(davinci_rtc->rtc)) {
-               dev_err(dev, "unable to register RTC device, err %d\n",
-                               ret);
+       davinci_rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
+       if (IS_ERR(davinci_rtc->rtc))
                return PTR_ERR(davinci_rtc->rtc);
-       }
+
+       davinci_rtc->rtc->ops = &davinci_rtc_ops;
 
        rtcif_write(davinci_rtc, PRTCIF_INTFLG_RTCSS, PRTCIF_INTFLG);
        rtcif_write(davinci_rtc, 0, PRTCIF_INTEN);
@@ -516,7 +514,7 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
 
        device_init_wakeup(&pdev->dev, 0);
 
-       return 0;
+       return rtc_register_device(davinci_rtc->rtc);
 }
 
 static int __exit davinci_rtc_remove(struct platform_device *pdev)