pinctrl: equilibrium: Fix function addition in multiple groups
authorRahul Tanwar <rtanwar@maxlinear.com>
Wed, 20 Oct 2021 09:38:15 +0000 (17:38 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Sun, 24 Oct 2021 22:20:01 +0000 (00:20 +0200)
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>
drivers/pinctrl/pinctrl-equilibrium.c

index fb713f9c53d0e4f35b227d7e082b649c49529ec6..3f0143087cc779937c4380d0844633f31496037e 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;
        }