• Paul Burton's avatar
    pinctrl: ingenic: Fix group & function error checking · 823dd71f
    Paul Burton authored
    Commit a203728a ("pinctrl: core: Return selector to the pinctrl
    driver") and commit f913cfce ("pinctrl: pinmux: Return selector to
    the pinctrl driver") modified the return values of
    pinctrl_generic_add_group() and pinmux_generic_add_function()
    respectively, but did so without updating their callers. This broke the
    pinctrl-ingenic driver, which treats non-zero return values from these
    functions as errors & fails to probe. For example on a MIPS Ci20:
    
      pinctrl-ingenic 10010000.pin-controller: Failed to register group uart0-hwflow
      pinctrl-ingenic: probe of 10010000.pin-controller failed with error 1
    
    Without the pinctrl driver probed, other drivers go on to fail to probe
    too & the system is unusable.
    
    Fix this by modifying the error checks to treat only negative values as
    errors, matching the commits that introduced the breakage & similar
    changes made to other drivers.
    Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
    Fixes: a203728a ("pinctrl: core: Return selector to the pinctrl driver")
    Fixes: f913cfce ("pinctrl: pinmux: Return selector to the pinctrl driver")
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: Paul Cercueil <paul@crapouillou.net>
    Cc: Tony Lindgren <tony@atomide.com>
    Cc: linux-gpio@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    823dd71f
pinctrl-ingenic.c 29 KB