Skip to contentSkip to conversation

pinctrl: add TB10x pin control driver

PATCH In review Dan Carpenter 3 participants 3 messages Apr 2, 2014 – Apr 22, 2014 Pin control

lore
Share & tools
lore
#0 lore raw

Hello Christian Ruppert,

The patch 5aad0db1c1eb: "pinctrl: add TB10x pin control driver" from Oct 15, 2013, leads to the following static checker warning:

	drivers/pinctrl/pinctrl-tb10x.c:640 tb10x_gpio_request_enable()
	warn: unsigned 'port' is never less than zero.

drivers/pinctrl/pinctrl-tb10x.c
624 /*

   625           * Figure out to which port the requested GPIO belongs and how to
   626           * configure that port.
   627           * This loop also checks for pin conflicts between GPIOs and other
   628           * functions.
   629           */
   630          for (i = 0; i < state->pinfuncgrpcnt; i++) {
   631                  const struct tb10x_pinfuncgrp *pfg = &state->pingroups[i];
   632                  unsigned int port = pfg->port;
   633                  unsigned int mode = pfg->mode;
   634                  int j;
   635  
   636                  /*
   637                   * Skip pin groups which are always mapped and don't need
   638                   * to be configured.
   639                   */
   640                  if (port < 0)
                            ^^^^^^^^

"pfg->port" is an int so probably "port" should be as well.

   641                          continue;
   642  
   643                  for (j = 0; j < pfg->pincnt; j++) {
   644                          if (pin == pfg->pins[j]) {
   645                                  if (pfg->isgpio) {

regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#1 lore raw

PATCH 1/1 pinctrl/TB10x: Fix signedness bug

In the TB10x pin database, a port index of -1 is used to indicate unmuxed GPIO pin groups. This bug fixes a 'cast to unsigned' bug of this value.

Thanks to Dan Carpenter for highlighting this.

---
 drivers/pinctrl/pinctrl-tb10x.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
drivers/pinctrl/pinctrl-tb10x.c +1 -2
index c5e0f69..26ca685 100644
@@ -629,9 +629,8 @@ static int tb10x_gpio_request_enable(struct pinctrl_dev *pctl,
 	 */
 	for (i = 0; i < state->pinfuncgrpcnt; i++) {
 		const struct tb10x_pinfuncgrp *pfg = &state->pingroups[i];
-		unsigned int port = pfg->port;
 		unsigned int mode = pfg->mode;
-		int j;
+		int j, port = pfg->port;
 
 		/*
 		 * Skip pin groups which are always mapped and don't need
Signature · 6 lines
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#2 lore raw

Re: [PATCH] pinctrl/TB10x: Fix signedness bug

Quoted 8 lines · Christian Ruppert

In the TB10x pin database, a port index of -1 is used to indicate unmuxed GPIO pin groups. This bug fixes a 'cast to unsigned' bug of this value.

Thanks to Dan Carpenter for highlighting this.

Patch applied for fixes.

Yours,
Linus Walleij