summaryrefslogtreecommitdiffstats
path: root/drivers/rtc/rtc-spear.c
diff options
context:
space:
mode:
authorAlexandre Belloni <alexandre.belloni@bootlin.com>2022-03-09 17:22:49 +0100
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2022-03-23 19:58:40 +0100
commit4fc4d3339f0f6f53ccc001f4e56a86fa1d027e87 (patch)
tree6e31c2595bd7efc27bf79dee550ed93cbbfa5636 /drivers/rtc/rtc-spear.c
parentrtc: pcf8563: switch to RTC_FEATURE_UPDATE_INTERRUPT (diff)
downloadlinux-4fc4d3339f0f6f53ccc001f4e56a86fa1d027e87.tar.xz
linux-4fc4d3339f0f6f53ccc001f4e56a86fa1d027e87.zip
rtc: spear: switch to devm_rtc_allocate_device
Switch to devm_rtc_allocate_device/devm_rtc_register_device, this allows for further improvement of the driver. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Link: https://lore.kernel.org/r/20220309162301.61679-18-alexandre.belloni@bootlin.com
Diffstat (limited to '')
-rw-r--r--drivers/rtc/rtc-spear.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/rtc/rtc-spear.c b/drivers/rtc/rtc-spear.c
index b4a520056b1a..1b40380aaba2 100644
--- a/drivers/rtc/rtc-spear.c
+++ b/drivers/rtc/rtc-spear.c
@@ -352,6 +352,10 @@ static int spear_rtc_probe(struct platform_device *pdev)
if (!config)
return -ENOMEM;
+ config->rtc = devm_rtc_allocate_device(&pdev->dev);
+ if (IS_ERR(config->rtc))
+ return PTR_ERR(config->rtc);
+
/* alarm irqs */
irq = platform_get_irq(pdev, 0);
if (irq < 0)
@@ -380,17 +384,13 @@ static int spear_rtc_probe(struct platform_device *pdev)
spin_lock_init(&config->lock);
platform_set_drvdata(pdev, config);
- config->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,
- &spear_rtc_ops, THIS_MODULE);
- if (IS_ERR(config->rtc)) {
- dev_err(&pdev->dev, "can't register RTC device, err %ld\n",
- PTR_ERR(config->rtc));
- status = PTR_ERR(config->rtc);
- goto err_disable_clock;
- }
-
+ config->rtc->ops = &spear_rtc_ops;
config->rtc->uie_unsupported = 1;
+ status = devm_rtc_register_device(config->rtc);
+ if (status)
+ goto err_disable_clock;
+
if (!device_can_wakeup(&pdev->dev))
device_init_wakeup(&pdev->dev, 1);