]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
pinctrl: mt7622: fix initialization sequence between eint and gpiochip
authorSean Wang <sean.wang@mediatek.com>
Fri, 22 Jun 2018 03:49:05 +0000 (11:49 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Sat, 14 Jul 2018 10:47:04 +0000 (12:47 +0200)
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: e6dabd38d8e7 ("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>
drivers/pinctrl/mediatek/pinctrl-mt7622.c

index 9ad8cb7730d3be193297b16bff4353a5adad40d9..e9eba62da233c217a15dcc7b6fd457c0ed7f9430 100644 (file)
@@ -1713,17 +1713,17 @@ static int mtk_pinctrl_probe(struct platform_device *pdev)
                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);
        if (err) {
                dev_err(&pdev->dev, "Failed to add gpio_chip\n");
                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);
 
        return 0;