This allows further improvement of the driver. Also remove the unecessary
error string as the core will already display error messages.

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

diff --git a/drivers/rtc/rtc-pcf2123.c b/drivers/rtc/rtc-pcf2123.c
index 2e2a14134346..7d79180a4292 100644
--- a/drivers/rtc/rtc-pcf2123.c
+++ b/drivers/rtc/rtc-pcf2123.c
@@ -407,17 +407,12 @@ 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");
+       rtc = devm_rtc_allocate_device(&spi->dev);
+       if (IS_ERR(rtc))
                return PTR_ERR(rtc);
-       }
 
        pcf2123->rtc = rtc;
 
-
        /* Register alarm irq */
        if (spi->irq > 0) {
                ret = devm_request_threaded_irq(&spi->dev, spi->irq, NULL,
@@ -434,7 +429,12 @@ static int pcf2123_probe(struct spi_device *spi)
         * support to this driver to generate interrupts more than once
         * per minute.
         */
-       pcf2123->rtc->uie_unsupported = 1;
+       rtc->uie_unsupported = 1;
+       rtc->ops = &pcf2123_rtc_ops;
+
+       ret = rtc_register_device(rtc);
+       if (ret)
+               return ret;
 
        return 0;
 }
-- 
2.21.0

Reply via email to