rtc: omap: use devm_pinctrl_register()
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 9 Nov 2020 16:34:02 +0000 (17:34 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Thu, 19 Nov 2020 11:50:11 +0000 (12:50 +0100)
Use a managed variant of pinctrl_register(). This way we can shorten
the remove() callback as well as drop a goto label from probe().

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201109163409.24301-2-brgl@bgdev.pl
drivers/rtc/rtc-omap.c

index c20fc79..606fa80 100644 (file)
@@ -879,7 +879,7 @@ static int omap_rtc_probe(struct platform_device *pdev)
        /* Support ext_wakeup pinconf */
        rtc_pinctrl_desc.name = dev_name(&pdev->dev);
 
-       rtc->pctldev = pinctrl_register(&rtc_pinctrl_desc, &pdev->dev, rtc);
+       rtc->pctldev = devm_pinctrl_register(&pdev->dev, &rtc_pinctrl_desc, rtc);
        if (IS_ERR(rtc->pctldev)) {
                dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
                ret = PTR_ERR(rtc->pctldev);
@@ -888,7 +888,7 @@ static int omap_rtc_probe(struct platform_device *pdev)
 
        ret = rtc_register_device(rtc->rtc);
        if (ret)
-               goto err_deregister_pinctrl;
+               goto err;
 
        rtc_nvmem_register(rtc->rtc, &omap_rtc_nvmem_config);
 
@@ -901,8 +901,6 @@ static int omap_rtc_probe(struct platform_device *pdev)
 
        return 0;
 
-err_deregister_pinctrl:
-       pinctrl_unregister(rtc->pctldev);
 err:
        clk_disable_unprepare(rtc->clk);
        device_init_wakeup(&pdev->dev, false);
@@ -945,9 +943,6 @@ static int omap_rtc_remove(struct platform_device *pdev)
        pm_runtime_put_sync(&pdev->dev);
        pm_runtime_disable(&pdev->dev);
 
-       /* Remove ext_wakeup pinconf */
-       pinctrl_unregister(rtc->pctldev);
-
        return 0;
 }