diff options
| author | Charles Keepax <ckeepax@opensource.wolfsonmicro.com> | 2017-03-22 13:15:35 -0400 |
|---|---|---|
| committer | Krzysztof Kozlowski <krzk@kernel.org> | 2017-03-23 15:13:19 -0400 |
| commit | f69ae4f58a198ad15b0422637434d2bcf6fc2e2a (patch) | |
| tree | 90750cb9c17e0a6f0abe0ee72120c16e2fe0063a | |
| parent | 1abd18d1a51a95bf90c10459f1ed5c692660408e (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.c | 9 |
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 | |||
| 949 | fail: | ||
| 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 */ |
