summaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2020-07-28 14:55:04 +0200
committerLinus Walleij <linus.walleij@linaro.org>2020-08-04 01:25:02 +0200
commit22cc422070d9a9a399f8a70b89f1b852945444cb (patch)
tree0326226f629db801dbc1e0a1ea90c96b8d1d0a0f /drivers/gpio
parentgpio: crystalcove: Free IRQ on error path (diff)
downloadlinux-22cc422070d9a9a399f8a70b89f1b852945444cb.tar.xz
linux-22cc422070d9a9a399f8a70b89f1b852945444cb.zip
gpio: wcove: Request IRQ after all initialisation done
There is logically better to request IRQ when we initialise all structures. Align the driver with the rest on the same matter. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20200728125504.27786-3-andriy.shevchenko@linux.intel.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpio-wcove.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/gpio/gpio-wcove.c b/drivers/gpio/gpio-wcove.c
index 135645096575..b5fbba5a783a 100644
--- a/drivers/gpio/gpio-wcove.c
+++ b/drivers/gpio/gpio-wcove.c
@@ -449,13 +449,6 @@ static int wcove_gpio_probe(struct platform_device *pdev)
return virq;
}
- ret = devm_request_threaded_irq(dev, virq, NULL,
- wcove_gpio_irq_handler, IRQF_ONESHOT, pdev->name, wg);
- if (ret) {
- dev_err(dev, "Failed to request irq %d\n", virq);
- return ret;
- }
-
girq = &wg->chip.irq;
girq->chip = &wcove_irqchip;
/* This will let us handle the parent IRQ in the driver */
@@ -466,6 +459,13 @@ static int wcove_gpio_probe(struct platform_device *pdev)
girq->handler = handle_simple_irq;
girq->threaded = true;
+ ret = devm_request_threaded_irq(dev, virq, NULL, wcove_gpio_irq_handler,
+ IRQF_ONESHOT, pdev->name, wg);
+ if (ret) {
+ dev_err(dev, "Failed to request irq %d\n", virq);
+ return ret;
+ }
+
ret = devm_gpiochip_add_data(dev, &wg->chip, wg);
if (ret) {
dev_err(dev, "Failed to add gpiochip: %d\n", ret);