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
This commit is contained in:
Alexandre Belloni 2022-03-09 17:22:49 +01:00
parent d28a0e144e
commit 4fc4d3339f

View File

@ -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);