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 Original line Diff line number Diff line
@@ -500,12 +500,6 @@ static int stmpe_gpio_probe(struct platform_device *pdev)
	if (ret)
	if (ret)
		goto out_free;
		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) {
	if (irq > 0) {
		struct gpio_irq_chip *girq;
		struct gpio_irq_chip *girq;


@@ -528,6 +522,12 @@ static int stmpe_gpio_probe(struct platform_device *pdev)
		girq->threaded = true;
		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);
	platform_set_drvdata(pdev, stmpe_gpio);


	return 0;
	return 0;