Commit 415a099e authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Linus Walleij

pinctrl: at91: Don't mix non-devm calls with devm ones

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: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: default avatarClaudiu Beznea <claudiu.beznea@microchip.com>
Tested-by: default avatarClaudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230215134242.37618-3-andriy.shevchenko@linux.intel.comSigned-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent f494c191
...@@ -1849,19 +1849,13 @@ static int at91_gpio_probe(struct platform_device *pdev) ...@@ -1849,19 +1849,13 @@ static int at91_gpio_probe(struct platform_device *pdev)
at91_chip->pioc_virq = irq; at91_chip->pioc_virq = irq;
at91_chip->pioc_idx = alias_idx; 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)) { if (IS_ERR(at91_chip->clock)) {
dev_err(&pdev->dev, "failed to get clock, ignoring.\n"); dev_err(&pdev->dev, "failed to get clock, ignoring.\n");
ret = PTR_ERR(at91_chip->clock); ret = PTR_ERR(at91_chip->clock);
goto err; 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->chip = at91_gpio_template;
at91_chip->id = alias_idx; at91_chip->id = alias_idx;
...@@ -1882,7 +1876,7 @@ static int at91_gpio_probe(struct platform_device *pdev) ...@@ -1882,7 +1876,7 @@ static int at91_gpio_probe(struct platform_device *pdev)
names = devm_kasprintf_strarray(dev, "pio", chip->ngpio); names = devm_kasprintf_strarray(dev, "pio", chip->ngpio);
if (!names) { if (!names) {
ret = -ENOMEM; ret = -ENOMEM;
goto clk_enable_err; goto err;
} }
for (i = 0; i < chip->ngpio; i++) for (i = 0; i < chip->ngpio; i++)
...@@ -1915,8 +1909,6 @@ static int at91_gpio_probe(struct platform_device *pdev) ...@@ -1915,8 +1909,6 @@ static int at91_gpio_probe(struct platform_device *pdev)
return 0; return 0;
gpiochip_add_err: gpiochip_add_err:
clk_enable_err:
clk_disable_unprepare(at91_chip->clock);
err: err:
dev_err(&pdev->dev, "Failure %i for GPIO %i\n", ret, alias_idx); dev_err(&pdev->dev, "Failure %i for GPIO %i\n", ret, alias_idx);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment