|
@@ -418,14 +418,6 @@ static int __init mxc_rtc_probe(struct platform_device *pdev)
|
|
|
goto exit_put_clk;
|
|
|
}
|
|
|
|
|
|
- rtc = rtc_device_register(pdev->name, &pdev->dev, &mxc_rtc_ops,
|
|
|
- THIS_MODULE);
|
|
|
- if (IS_ERR(rtc)) {
|
|
|
- ret = PTR_ERR(rtc);
|
|
|
- goto exit_put_clk;
|
|
|
- }
|
|
|
-
|
|
|
- pdata->rtc = rtc;
|
|
|
platform_set_drvdata(pdev, pdata);
|
|
|
|
|
|
/* Configure and enable the RTC */
|
|
@@ -438,8 +430,19 @@ static int __init mxc_rtc_probe(struct platform_device *pdev)
|
|
|
pdata->irq = -1;
|
|
|
}
|
|
|
|
|
|
+ rtc = rtc_device_register(pdev->name, &pdev->dev, &mxc_rtc_ops,
|
|
|
+ THIS_MODULE);
|
|
|
+ if (IS_ERR(rtc)) {
|
|
|
+ ret = PTR_ERR(rtc);
|
|
|
+ goto exit_clr_drvdata;
|
|
|
+ }
|
|
|
+
|
|
|
+ pdata->rtc = rtc;
|
|
|
+
|
|
|
return 0;
|
|
|
|
|
|
+exit_clr_drvdata:
|
|
|
+ platform_set_drvdata(pdev, NULL);
|
|
|
exit_put_clk:
|
|
|
clk_disable(pdata->clk);
|
|
|
clk_put(pdata->clk);
|