diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2023-11-29 19:06:26 +0300 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2023-12-01 17:00:10 +0300 |
commit | c82c03819b92df0e6472d4c3424e9fd614dde8ad (patch) | |
tree | 48da5a10a20b31577d2cc0a084f626a2404c1b43 /drivers/pinctrl/pinctrl-equilibrium.c | |
parent | 9e863d276876e085910f33b1b45d4bc8125e179a (diff) | |
download | linux-c82c03819b92df0e6472d4c3424e9fd614dde8ad.tar.xz |
pinctrl: equilibrium: Unshadow error code of of_property_count_u32_elems()
of_property_count_u32_elems() might return an error code in some cases.
It's naturally better to assign what it's returned to the err variable
and supply the real code to the upper layer(s). Besides that, it's a
common practice to avoid assignments for the data in cases when we know
that the error condition happened. Refactor the code accordingly.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20231129161459.1002323-4-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/pinctrl-equilibrium.c')
-rw-r--r-- | drivers/pinctrl/pinctrl-equilibrium.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/pinctrl/pinctrl-equilibrium.c b/drivers/pinctrl/pinctrl-equilibrium.c index 5b5ddf7e5d0e..54755b583d3f 100644 --- a/drivers/pinctrl/pinctrl-equilibrium.c +++ b/drivers/pinctrl/pinctrl-equilibrium.c @@ -715,12 +715,13 @@ static int eqbr_build_groups(struct eqbr_pinctrl_drv_data *drvdata) if (!prop) continue; - group.num_pins = of_property_count_u32_elems(np, "pins"); - if (group.num_pins < 0) { + err = of_property_count_u32_elems(np, "pins"); + if (err < 0) { dev_err(dev, "No pins in the group: %s\n", prop->name); of_node_put(np); - return -EINVAL; + return err; } + group.num_pins = err; group.name = prop->value; group.pins = devm_kcalloc(dev, group.num_pins, sizeof(*(group.pins)), GFP_KERNEL); |