summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>2017-03-22 18:15:35 +0100
committerKrzysztof Kozlowski <krzk@kernel.org>2017-03-23 20:13:19 +0100
commitf69ae4f58a198ad15b0422637434d2bcf6fc2e2a (patch)
tree90750cb9c17e0a6f0abe0ee72120c16e2fe0063a
parentpinctrl: samsung: Register pinctrl before GPIO (diff)
downloadlinux-f69ae4f58a198ad15b0422637434d2bcf6fc2e2a.tar.xz
linux-f69ae4f58a198ad15b0422637434d2bcf6fc2e2a.zip
pinctrl: samsung: Use devres version of gpiochip_add_data
Use devm_gpiochip_add_data to simplify the error path in samsung_gpiolib_register. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
-rw-r--r--drivers/pinctrl/samsung/pinctrl-samsung.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
index 5d5337072350..934fc3b6b5aa 100644
--- a/drivers/pinctrl/samsung/pinctrl-samsung.c
+++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
@@ -936,20 +936,15 @@ static int samsung_gpiolib_register(struct platform_device *pdev,
gc->of_node = bank->of_node;
gc->label = bank->name;
- ret = gpiochip_add_data(gc, bank);
+ ret = devm_gpiochip_add_data(&pdev->dev, gc, bank);
if (ret) {
dev_err(&pdev->dev, "failed to register gpio_chip %s, error code: %d\n",
gc->label, ret);
- goto fail;
+ return ret;
}
}
return 0;
-
-fail:
- for (--i, --bank; i >= 0; --i, --bank)
- gpiochip_remove(&bank->gpio_chip);
- return ret;
}
/* retrieve the soc specific data */