From: Linus Walleij Date: Tue, 28 Jul 2020 07:27:06 +0000 (+0200) Subject: gpio: stmpe: Move chip registration X-Git-Tag: howlett/maple_spf/20210104~1341^2~5 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=beb3fb41659a3cff2121f126a83fd7167b601a63;p=users%2Fjedix%2Flinux-maple.git gpio: stmpe: Move chip registration Make sure to register the GPIO chip after requesting the interrupt and setting up the IRQ members of the irqchip. Fixes: 9745079609df ("gpio: stmpe: Use irqchip template") Reported-by: Serge Semin Signed-off-by: Linus Walleij Cc: Patrice Chotard Link: https://lore.kernel.org/r/20200728072706.348725-1-linus.walleij@linaro.org --- diff --git a/drivers/gpio/gpio-stmpe.c b/drivers/gpio/gpio-stmpe.c index 395ee51445ea4..6c48809d0505b 100644 --- a/drivers/gpio/gpio-stmpe.c +++ b/drivers/gpio/gpio-stmpe.c @@ -500,12 +500,6 @@ static int stmpe_gpio_probe(struct platform_device *pdev) if (ret) goto out_free; - ret = gpiochip_add_data(&stmpe_gpio->chip, stmpe_gpio); - if (ret) { - dev_err(&pdev->dev, "unable to add gpiochip: %d\n", ret); - goto out_disable; - } - if (irq > 0) { struct gpio_irq_chip *girq; @@ -528,6 +522,12 @@ static int stmpe_gpio_probe(struct platform_device *pdev) girq->threaded = true; } + ret = gpiochip_add_data(&stmpe_gpio->chip, stmpe_gpio); + if (ret) { + dev_err(&pdev->dev, "unable to add gpiochip: %d\n", ret); + goto out_disable; + } + platform_set_drvdata(pdev, stmpe_gpio); return 0;