Commit beb3fb41 authored by Linus Walleij's avatar Linus Walleij
Browse files

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: 97450796 ("gpio: stmpe: Use irqchip template")
Reported-by: default avatarSerge Semin <fancer.lancer@gmail.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Cc: Patrice Chotard <patrice.chotard@st.com>
Link: https://lore.kernel.org/r/20200728072706.348725-1-linus.walleij@linaro.org
parent b470cef1
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -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;