]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
pinctrl: mt7622: Fix probe fail by misuse the selector
authorSean Wang <sean.wang@mediatek.com>
Thu, 12 Jul 2018 05:50:00 +0000 (13:50 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 17 Jul 2018 08:50:14 +0000 (10:50 +0200)
After the commit acf137951367 ("pinctrl: core: Return selector to the
pinctrl driver") and the commit 47f1242d19c3 ("pinctrl: pinmux: Return
selector to the pinctrl driver"), it's necessary to add the fixes
needed for the pin controller drivers to use the appropriate returned
selector for a negative error number returned in case of the fail at
these functions. Otherwise, the driver would have a failed probe and
that causes boot message cannot correctly output and devices fail
to acquire their own pins.

Cc: Kevin Hilman <khilman@baylibre.com>
Fixes: acf137951367 ("pinctrl: core: Return selector to the pinctrl driver")
Fixes: 47f1242d19c3 ("pinctrl: pinmux: Return selector to the pinctrl driver")
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 b8df7ad87cf4dcf15c5c367f3cd6c8c9dc2d7757..26bc13bda09bdb3113dfffa09305aa56f8e60b8d 100644 (file)
@@ -1525,7 +1525,7 @@ static int mtk_build_groups(struct mtk_pinctrl *hw)
                err = pinctrl_generic_add_group(hw->pctrl, group->name,
                                                group->pins, group->num_pins,
                                                group->data);
-               if (err) {
+               if (err < 0) {
                        dev_err(hw->dev, "Failed to register group %s\n",
                                group->name);
                        return err;
@@ -1546,7 +1546,7 @@ static int mtk_build_functions(struct mtk_pinctrl *hw)
                                                  func->group_names,
                                                  func->num_group_names,
                                                  func->data);
-               if (err) {
+               if (err < 0) {
                        dev_err(hw->dev, "Failed to register function %s\n",
                                func->name);
                        return err;