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: weiyongjun (A) <hidden>
Date: 2021-07-15 11:49:33
Also in: linux-arm-kernel, linux-gpio, lkml

quoted hunk ↗ jump to hunk
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.

Do not mix this cleanup with bugfix.


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