diff options
author | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2022-03-09 17:22:49 +0100 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2022-03-23 19:58:40 +0100 |
commit | 4fc4d3339f0f6f53ccc001f4e56a86fa1d027e87 (patch) | |
tree | 6e31c2595bd7efc27bf79dee550ed93cbbfa5636 /drivers/rtc/rtc-spear.c | |
parent | rtc: pcf8563: switch to RTC_FEATURE_UPDATE_INTERRUPT (diff) | |
download | linux-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.c | 18 |
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); |