summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl
diff options
context:
space:
mode:
authorPramod Gurav <pramod.gurav@smartplayin.com>2014-09-09 09:51:40 +0200
committerLinus Walleij <linus.walleij@linaro.org>2014-09-23 16:53:18 +0200
commit7471725f618b95d2a61a4bf789dbdc5c7805ffa9 (patch)
tree7bd0fd5c415aa75bcef91d77e64d9f00692e0bfb /drivers/pinctrl
parentpinctrl: at91: Fix error handling while doing gpiochio_irqchip_add (diff)
downloadlinux-7471725f618b95d2a61a4bf789dbdc5c7805ffa9.tar.xz
linux-7471725f618b95d2a61a4bf789dbdc5c7805ffa9.zip
pinctrl: st: remove gpiochip in failure cases
This patch releases gpiochip related resources by calling gpiochip_remove when gpiochip_irqchip_add fails. Cc: Maxime Coquelin <maxime.coquelin@st.com> Cc: Patrice Chotard <patrice.chotard@st.com> Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Pramod Gurav <pramod.gurav@smartplayin.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r--drivers/pinctrl/pinctrl-st.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
index 6c4c41bed1e3..4b1792aad3d8 100644
--- a/drivers/pinctrl/pinctrl-st.c
+++ b/drivers/pinctrl/pinctrl-st.c
@@ -1517,6 +1517,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
0, handle_simple_irq,
IRQ_TYPE_LEVEL_LOW);
if (err) {
+ gpiochip_remove(&bank->gpio_chip);
dev_info(dev, "could not add irqchip\n");
return err;
}