]> www.infradead.org Git - users/dwmw2/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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Sep 2018 06:39:37 +0000 (08:39 +0200)
[ Upstream commit 238262af08a20e5f1932fcf606b8b84370ac8b77 ]

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>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/pinctrl/mediatek/pinctrl-mt7622.c

index 4c4740ffeb9ca0807f63d77271ad619407155c3b..3ea685634b6c0bddeffb00f142510a831d321ece 100644 (file)
@@ -1537,7 +1537,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;
@@ -1558,7 +1558,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;