summaryrefslogtreecommitdiff
path: root/drivers/pinctrl/pinctrl-at91.c
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2023-02-15 16:42:39 +0300
committerLinus Walleij <linus.walleij@linaro.org>2023-03-06 15:52:34 +0300
commit415a099ea55ae716b69beefdcaa654b96087c016 (patch)
treee0ece0254cfe5c0d3c5ee110db58d2210ad5b8c3 /drivers/pinctrl/pinctrl-at91.c
parentf494c1913cbb34b9e2078b7b045c87c1ca6df791 (diff)
downloadlinux-415a099ea55ae716b69beefdcaa654b96087c016.tar.xz
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: 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>
Diffstat (limited to 'drivers/pinctrl/pinctrl-at91.c')
-rw-r--r--drivers/pinctrl/pinctrl-at91.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
index 9fa68ca4a412..f0b139a1cc3e 100644
--- a/drivers/pinctrl/pinctrl-at91.c
+++ b/drivers/pinctrl/pinctrl-at91.c
@@ -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);