pinctrl: mt7622: fix initialization sequence between eint and gpiochip

Because gpichip applied in the driver must depend on mtk eint to implement
the input data debouncing and the translation between gpio and irq, it's
better to keep logic consistent with mtk eint being built prior to gpiochip
being added.

Cc: stable@vger.kernel.org
Fixes: e6dabd38d8 ("pinctrl: mediatek: add EINT support to MT7622 SoC")
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Sean Wang 2018-06-22 11:49:05 +08:00 committed by Linus Walleij
parent fafa35cce3
commit 8875059d21

View file

@ -1713,17 +1713,17 @@ static int mtk_pinctrl_probe(struct platform_device *pdev)
return err; return err;
} }
err = mtk_build_eint(hw, pdev);
if (err)
dev_warn(&pdev->dev,
"Failed to add EINT, but pinctrl still can work\n");
err = mtk_build_gpiochip(hw, pdev->dev.of_node); err = mtk_build_gpiochip(hw, pdev->dev.of_node);
if (err) { if (err) {
dev_err(&pdev->dev, "Failed to add gpio_chip\n"); dev_err(&pdev->dev, "Failed to add gpio_chip\n");
return err; return err;
} }
err = mtk_build_eint(hw, pdev);
if (err)
dev_warn(&pdev->dev,
"Failed to add EINT, but pinctrl still can work\n");
platform_set_drvdata(pdev, hw); platform_set_drvdata(pdev, hw);
return 0; return 0;