|
@@ -272,12 +272,13 @@ static int __init mv_rtc_probe(struct platform_device *pdev)
|
|
|
|
|
|
if (pdata->irq >= 0) {
|
|
|
device_init_wakeup(&pdev->dev, 1);
|
|
|
- pdata->rtc = rtc_device_register(pdev->name, &pdev->dev,
|
|
|
+ pdata->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,
|
|
|
&mv_rtc_alarm_ops,
|
|
|
THIS_MODULE);
|
|
|
- } else
|
|
|
- pdata->rtc = rtc_device_register(pdev->name, &pdev->dev,
|
|
|
+ } else {
|
|
|
+ pdata->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,
|
|
|
&mv_rtc_ops, THIS_MODULE);
|
|
|
+ }
|
|
|
if (IS_ERR(pdata->rtc)) {
|
|
|
ret = PTR_ERR(pdata->rtc);
|
|
|
goto out;
|
|
@@ -308,7 +309,6 @@ static int __exit mv_rtc_remove(struct platform_device *pdev)
|
|
|
if (pdata->irq >= 0)
|
|
|
device_init_wakeup(&pdev->dev, 0);
|
|
|
|
|
|
- rtc_device_unregister(pdata->rtc);
|
|
|
if (!IS_ERR(pdata->clk))
|
|
|
clk_disable_unprepare(pdata->clk);
|
|
|
|