OSDN Git Service

pinctrl: at91: Don't mix non-devm calls with devm ones
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 15 Feb 2023 13:42:39 +0000 (15:42 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 6 Mar 2023 12:52:34 +0000 (13:52 +0100)
Replace devm_clk_get() by devm_clk_get_enabled() and drop
unneeded code pieces. This will make sure we keep the ordering
of the resource allocation correct.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Tested-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230215134242.37618-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-at91.c

index 9fa68ca..f0b139a 100644 (file)
@@ -1849,19 +1849,13 @@ static int at91_gpio_probe(struct platform_device *pdev)
        at91_chip->pioc_virq = irq;
        at91_chip->pioc_idx = alias_idx;
 
-       at91_chip->clock = devm_clk_get(&pdev->dev, NULL);
+       at91_chip->clock = devm_clk_get_enabled(&pdev->dev, NULL);
        if (IS_ERR(at91_chip->clock)) {
                dev_err(&pdev->dev, "failed to get clock, ignoring.\n");
                ret = PTR_ERR(at91_chip->clock);
                goto err;
        }
 
-       ret = clk_prepare_enable(at91_chip->clock);
-       if (ret) {
-               dev_err(&pdev->dev, "failed to prepare and enable clock, ignoring.\n");
-               goto clk_enable_err;
-       }
-
        at91_chip->chip = at91_gpio_template;
        at91_chip->id = alias_idx;
 
@@ -1882,7 +1876,7 @@ static int at91_gpio_probe(struct platform_device *pdev)
        names = devm_kasprintf_strarray(dev, "pio", chip->ngpio);
        if (!names) {
                ret = -ENOMEM;
-               goto clk_enable_err;
+               goto err;
        }
 
        for (i = 0; i < chip->ngpio; i++)
@@ -1915,8 +1909,6 @@ static int at91_gpio_probe(struct platform_device *pdev)
        return 0;
 
 gpiochip_add_err:
-clk_enable_err:
-       clk_disable_unprepare(at91_chip->clock);
 err:
        dev_err(&pdev->dev, "Failure %i for GPIO %i\n", ret, alias_idx);