pinctrl: renesas: rzv2m: Use devm_clk_get_enabled() helper
authorGeert Uytterhoeven <geert+renesas@glider.be>
Mon, 3 Jul 2023 15:09:59 +0000 (17:09 +0200)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 25 Jul 2023 10:28:42 +0000 (12:28 +0200)
Simplify clock handling by using the devm_clk_get_enabled() helper,
instead of open-coding the same operations.  Move the clock pointer from
the driver-private data to a local variable, as it is not needed outside
the .probe() callback.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/cca0b1795fd0335401bdf2be393ab84445e04095.1688396836.git.geert+renesas@glider.be
drivers/pinctrl/renesas/pinctrl-rzv2m.c

index 35b23c1..f085229 100644 (file)
@@ -118,7 +118,6 @@ struct rzv2m_pinctrl {
        const struct rzv2m_pinctrl_data *data;
        void __iomem                    *base;
        struct device                   *dev;
-       struct clk                      *clk;
 
        struct gpio_chip                gpio_chip;
        struct pinctrl_gpio_range       gpio_range;
@@ -1039,14 +1038,10 @@ static int rzv2m_pinctrl_register(struct rzv2m_pinctrl *pctrl)
        return 0;
 }
 
-static void rzv2m_pinctrl_clk_disable(void *data)
-{
-       clk_disable_unprepare(data);
-}
-
 static int rzv2m_pinctrl_probe(struct platform_device *pdev)
 {
        struct rzv2m_pinctrl *pctrl;
+       struct clk *clk;
        int ret;
 
        pctrl = devm_kzalloc(&pdev->dev, sizeof(*pctrl), GFP_KERNEL);
@@ -1063,32 +1058,15 @@ static int rzv2m_pinctrl_probe(struct platform_device *pdev)
        if (IS_ERR(pctrl->base))
                return PTR_ERR(pctrl->base);
 
-       pctrl->clk = devm_clk_get(pctrl->dev, NULL);
-       if (IS_ERR(pctrl->clk)) {
-               ret = PTR_ERR(pctrl->clk);
-               dev_err(pctrl->dev, "failed to get GPIO clk : %i\n", ret);
-               return ret;
-       }
+       clk = devm_clk_get_enabled(pctrl->dev, NULL);
+       if (IS_ERR(clk))
+               return dev_err_probe(pctrl->dev, PTR_ERR(clk),
+                                    "failed to enable GPIO clk\n");
 
        spin_lock_init(&pctrl->lock);
 
        platform_set_drvdata(pdev, pctrl);
 
-       ret = clk_prepare_enable(pctrl->clk);
-       if (ret) {
-               dev_err(pctrl->dev, "failed to enable GPIO clk: %i\n", ret);
-               return ret;
-       }
-
-       ret = devm_add_action_or_reset(&pdev->dev, rzv2m_pinctrl_clk_disable,
-                                      pctrl->clk);
-       if (ret) {
-               dev_err(pctrl->dev,
-                       "failed to register GPIO clk disable action, %i\n",
-                       ret);
-               return ret;
-       }
-
        ret = rzv2m_pinctrl_register(pctrl);
        if (ret)
                return ret;