[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1500375436-9435-3-git-send-email-j-keerthy@ti.com>
Date: Tue, 18 Jul 2017 16:27:14 +0530
From: Keerthy <j-keerthy@...com>
To: <linus.walleij@...aro.org>, <ssantosh@...nel.org>
CC: <robh+dt@...nel.org>, <nsekhar@...com>, <s-anna@...com>,
<fcooper@...com>, <linux-gpio@...r.kernel.org>,
<devicetree@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, <j-keerthy@...com>
Subject: [PATCH 2/4] gpio: davinci: Handle the return value of davinci_gpio_irq_setup function
Currently davinci_gpio_irq_setup return value is ignored. Handle the
return value appropriately.
Signed-off-by: Keerthy <j-keerthy@...com>
---
drivers/gpio/gpio-davinci.c | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c
index 2c88054..932f270 100644
--- a/drivers/gpio/gpio-davinci.c
+++ b/drivers/gpio/gpio-davinci.c
@@ -233,15 +233,23 @@ static int davinci_gpio_probe(struct platform_device *pdev)
chips->regs[bank] = gpio_base + offset_array[bank];
ret = devm_gpiochip_add_data(dev, &chips->chip, chips);
+ if (ret)
+ goto err;
+
+ platform_set_drvdata(pdev, chips);
+ ret = davinci_gpio_irq_setup(pdev);
if (ret) {
- ctrl_num = 0;
- bank_base = 0;
- return ret;
+ platform_set_drvdata(pdev, NULL);
+ goto err;
}
- platform_set_drvdata(pdev, chips);
- davinci_gpio_irq_setup(pdev);
return 0;
+
+err:
+ ctrl_num = 0;
+ bank_base = 0;
+
+ return ret;
}
/*--------------------------------------------------------------------------*/
--
1.9.1
Powered by blists - more mailing lists