]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/rtc/rtc-omap.c
selftests/timers: Add missing fflush(stdout) calls
[mirror_ubuntu-bionic-kernel.git] / drivers / rtc / rtc-omap.c
index 1d666ac9ef706e083124516f18663a347e9db564..d6b4d897b48abadd23c9038f4ae49103de447ea7 100644 (file)
@@ -863,13 +863,6 @@ static int omap_rtc_probe(struct platform_device *pdev)
                        goto err;
        }
 
-       if (rtc->is_pmic_controller) {
-               if (!pm_power_off) {
-                       omap_rtc_power_off_rtc = rtc;
-                       pm_power_off = omap_rtc_power_off;
-               }
-       }
-
        /* Support ext_wakeup pinconf */
        rtc_pinctrl_desc.name = dev_name(&pdev->dev);
 
@@ -882,10 +875,19 @@ static int omap_rtc_probe(struct platform_device *pdev)
 
        ret = rtc_register_device(rtc->rtc);
        if (ret)
-               goto err;
+               goto err_deregister_pinctrl;
+
+       if (rtc->is_pmic_controller) {
+               if (!pm_power_off) {
+                       omap_rtc_power_off_rtc = rtc;
+                       pm_power_off = omap_rtc_power_off;
+               }
+       }
 
        return 0;
 
+err_deregister_pinctrl:
+       pinctrl_unregister(rtc->pctldev);
 err:
        device_init_wakeup(&pdev->dev, false);
        rtc->type->lock(rtc);