diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2020-07-28 14:55:04 +0200 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2020-08-04 01:25:02 +0200 |
commit | 22cc422070d9a9a399f8a70b89f1b852945444cb (patch) | |
tree | 0326226f629db801dbc1e0a1ea90c96b8d1d0a0f /drivers/gpio | |
parent | gpio: crystalcove: Free IRQ on error path (diff) | |
download | linux-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.c | 14 |
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); |