aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>2017-03-22 13:15:35 -0400
committerKrzysztof Kozlowski <krzk@kernel.org>2017-03-23 15:13:19 -0400
commitf69ae4f58a198ad15b0422637434d2bcf6fc2e2a (patch)
tree90750cb9c17e0a6f0abe0ee72120c16e2fe0063a
parent1abd18d1a51a95bf90c10459f1ed5c692660408e (diff)
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,
936 gc->of_node = bank->of_node; 936 gc->of_node = bank->of_node;
937 gc->label = bank->name; 937 gc->label = bank->name;
938 938
939 ret = gpiochip_add_data(gc, bank); 939 ret = devm_gpiochip_add_data(&pdev->dev, gc, bank);
940 if (ret) { 940 if (ret) {
941 dev_err(&pdev->dev, "failed to register gpio_chip %s, error code: %d\n", 941 dev_err(&pdev->dev, "failed to register gpio_chip %s, error code: %d\n",
942 gc->label, ret); 942 gc->label, ret);
943 goto fail; 943 return ret;
944 } 944 }
945 } 945 }
946 946
947 return 0; 947 return 0;
948
949fail:
950 for (--i, --bank; i >= 0; --i, --bank)
951 gpiochip_remove(&bank->gpio_chip);
952 return ret;
953} 948}
954 949
955/* retrieve the soc specific data */ 950/* retrieve the soc specific data */