]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
pinctrl: equilibrium: Fix function addition in multiple groups
authorRahul Tanwar <rtanwar@maxlinear.com>
Wed, 20 Oct 2021 09:38:15 +0000 (17:38 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Nov 2021 10:04:29 +0000 (11:04 +0100)
[ Upstream commit 53b3947ddb7f309d1f611f8dc9bfd6ea9d699907 ]

Ignore the same function with multiple groups.
Fix a typo in error print.

Fixes: 1948d5c51dba ("pinctrl: Add pinmux & GPIO controller driver for a new SoC")
Signed-off-by: Rahul Tanwar <rtanwar@maxlinear.com>
Link: https://lore.kernel.org/r/20211020093815.20870-1-rtanwar@maxlinear.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pinctrl/pinctrl-equilibrium.c

index 38cc20fa9d5af5020fa3844afe560e81cea1c6d2..44e6973b2ea93ff848726eb8f9f34adc969b2e2d 100644 (file)
@@ -675,6 +675,11 @@ static int eqbr_build_functions(struct eqbr_pinctrl_drv_data *drvdata)
                return ret;
 
        for (i = 0; i < nr_funcs; i++) {
+
+               /* Ignore the same function with multiple groups */
+               if (funcs[i].name == NULL)
+                       continue;
+
                ret = pinmux_generic_add_function(drvdata->pctl_dev,
                                                  funcs[i].name,
                                                  funcs[i].groups,
@@ -815,7 +820,7 @@ static int pinctrl_reg(struct eqbr_pinctrl_drv_data *drvdata)
 
        ret = eqbr_build_functions(drvdata);
        if (ret) {
-               dev_err(dev, "Failed to build groups\n");
+               dev_err(dev, "Failed to build functions\n");
                return ret;
        }