[PATCH 4/5] commands: gpio: add -d argument to set/get commands

Sascha Hauer sha at pengutronix.de
Wed Sep 28 07:36:31 PDT 2022


Hi Enrico,

On Wed, Sep 28, 2022 at 03:37:30PM +0200, Enrico Scholz wrote:
> Ahmad Fatoum <a.fatoum at pengutronix.de> writes:
> 
> > For debugging, it can be useful to reference GPIOs relative to a
> > controller, e.g.:
> >
> >   gpio_direction_output -d gpio4 20 1
> >
> > -	if (argc < count)
> > +	if (optind < count)
> >  		return COMMAND_ERROR_USAGE;
> 
> This change seems to make '-d ...' mandatory.  E.g.
> 
> | :/ gpio_get_value 65
> | 
> | gpio_get_value - return value of a GPIO pin
> | 
> | Usage: gpio_get_value [-d CONTROLLER] GPIO
> 

Thanks for reporting. Here is a fix for that

Sascha

-----------------------------8<---------------------------

>From 7c797eb87385522ce1ec1ba44315ba386d82978d Mon Sep 17 00:00:00 2001
From: Sascha Hauer <s.hauer at pengutronix.de>
Date: Wed, 28 Sep 2022 16:33:21 +0200
Subject: [PATCH] gpio: Fix gpio commands called without -d option

04443dc5fc breaks the calculation of arguments needed which effectively
makes the -d option mandatory. Fix this.

Fixes: 04443dc5fc ("commands: gpio: add -d argument to set/get commands")
Reported-by: Enrico Scholz <enrico.scholz at sigma-chemnitz.de>
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 commands/gpio.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/commands/gpio.c b/commands/gpio.c
index d04fd65bc8..5e5eb20583 100644
--- a/commands/gpio.c
+++ b/commands/gpio.c
@@ -11,7 +11,7 @@ static int get_gpio_and_value(int argc, char *argv[],
 {
 	struct gpio_chip *chip = NULL;
 	struct device_d *dev;
-	int count = 2;
+	int count = 1;
 	int ret = 0;
 	int opt;
 
@@ -34,7 +34,7 @@ static int get_gpio_and_value(int argc, char *argv[],
 	if (value)
 		count++;
 
-	if (optind < count)
+	if (argc < optind + count)
 		return COMMAND_ERROR_USAGE;
 
 	*gpio = gpio_find_by_name(argv[optind]);
-- 
2.30.2

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list