summaryrefslogtreecommitdiffstats
path: root/drivers/rtc/rtc-pcf2123.c
diff options
context:
space:
mode:
authorAlexandre Belloni <alexandre.belloni@bootlin.com>2019-08-19 20:26:54 +0200
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2019-08-20 21:42:15 +0200
commit935a7f45979067e98268546854bd7ef874207a60 (patch)
treedb2cf220c064a1a4310a23ac2fc76607dd6e5c46 /drivers/rtc/rtc-pcf2123.c
parentrtc: pcf2123: remove useless error path goto (diff)
downloadlinux-935a7f45979067e98268546854bd7ef874207a60.tar.xz
linux-935a7f45979067e98268546854bd7ef874207a60.zip
rtc: pcf2123: convert to devm_rtc_allocate_device
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.belloni@bootlin.com> Link: https://lore.kernel.org/r/20190819182656.29744-7-alexandre.belloni@bootlin.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'drivers/rtc/rtc-pcf2123.c')
-rw-r--r--drivers/rtc/rtc-pcf2123.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/rtc/rtc-pcf2123.c b/drivers/rtc/rtc-pcf2123.c
index aef02193dbcc..fd326fd2932e 100644
--- a/drivers/rtc/rtc-pcf2123.c
+++ b/drivers/rtc/rtc-pcf2123.c
@@ -408,17 +408,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,
@@ -435,7 +430,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;
}