Thread (4 messages) 4 messages, 2 authors, 2021-07-16

Re: [PATCH] pinctrl: single: Fix error return code in pcs_parse_bits_in_pinctrl_entry()

From: Leizhen (ThunderTown) <hidden>
Date: 2021-07-16 01:17:09
Also in: linux-arm-kernel, linux-omap, lkml


On 2021/7/15 19:49, weiyongjun (A) wrote:
quoted
Fix to return -ENOTSUPP instead of 0 when PCS_HAS_PINCONF is true, which
is the same as that returned in pcs_parse_pinconf().

In addition, I found the value of pcs->flags is not overwritten in
pcs_parse_bits_in_pinctrl_entry() and its subfunctions, so moving this
check to the beginning of the function eliminates unnecessary rollback
operations.

Fixes: 4e7e8017a80e ("pinctrl: pinctrl-single: enhance to configure multiple pins of different modules")
Reported-by: Hulk Robot <redacted>
Signed-off-by: Zhen Lei <redacted>
---
  drivers/pinctrl/pinctrl-single.c | 21 ++++++++-------------
  1 file changed, 8 insertions(+), 13 deletions(-)


      npins_in_row = pcs->width / pcs->bits_per_pin;
        vals = devm_kzalloc(pcs->dev,
@@ -1212,29 +1217,19 @@ static int pcs_parse_bits_in_pinctrl_entry(struct pcs_device *pcs,
          goto free_pins;
      }
  -    gsel = pinctrl_generic_add_group(pcs->pctl, np->name, pins, found, pcs);
-    if (gsel < 0) {
-        res = gsel;
+    res = pinctrl_generic_add_group(pcs->pctl, np->name, pins, found, pcs);
+    if (res < 0)
          goto free_function;
-    }

This change cause 'gsel' not set.
The local variable 'gsel' is no longer needed. I have deleted it.
Do not mix this cleanup with bugfix.
Yes, it might be clearer.


.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help