All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luka Kovacic <luka.kovacic@sartura.hr>
To: u-boot@lists.denx.de
Subject: [PATCH 1/1 v1] cmd: gpio: Correct do_gpio() return value
Date: Sun,  5 Jan 2020 20:10:56 +0100	[thread overview]
Message-ID: <20200105191056.12571-2-luka.kovacic@sartura.hr> (raw)
In-Reply-To: <20200105191056.12571-1-luka.kovacic@sartura.hr>

Use the correct return value in function do_gpio() and update
commands documentation with the return values from command_ret_t enum.

CMD_RET_SUCCESS is returned on command success and CMD_RET_FAILURE is
returned on command failure.

The command was returning the pin value, which caused confusion when
debugging (#define DEBUG).

Signed-off-by: Luka Kovacic <luka.kovacic@sartura.hr>
Tested-by: Robert Marko <robert.marko@sartura.hr>
---
 cmd/gpio.c          | 22 +++++++++++++++++-----
 doc/README.commands |  4 ++--
 2 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/cmd/gpio.c b/cmd/gpio.c
index eff36ab2af..67eef83c95 100644
--- a/cmd/gpio.c
+++ b/cmd/gpio.c
@@ -223,23 +223,35 @@ static int do_gpio(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 		gpio_direction_output(gpio, value);
 	}
 	printf("gpio: pin %s (gpio %u) value is ", str_gpio, gpio);
-	if (IS_ERR_VALUE(value))
+
+	if (IS_ERR_VALUE(value)) {
 		printf("unknown (ret=%d)\n", value);
-	else
+		goto err;
+	} else {
 		printf("%d\n", value);
+	}
+
 	if (sub_cmd != GPIOC_INPUT && !IS_ERR_VALUE(value)) {
 		int nval = gpio_get_value(gpio);
 
-		if (IS_ERR_VALUE(nval))
+		if (IS_ERR_VALUE(nval)) {
 			printf("   Warning: no access to GPIO output value\n");
-		else if (nval != value)
+			goto err;
+		} else if (nval != value) {
 			printf("   Warning: value of pin is still %d\n", nval);
+			goto err;
+		}
 	}
 
 	if (ret != -EBUSY)
 		gpio_free(gpio);
 
-	return value;
+	return CMD_RET_SUCCESS;
+
+err:
+	if (ret != -EBUSY)
+		gpio_free(gpio);
+	return CMD_RET_FAILURE;
 }
 
 U_BOOT_CMD(gpio, 4, 0, do_gpio,
diff --git a/doc/README.commands b/doc/README.commands
index e03eb44187..4e9e8098fa 100644
--- a/doc/README.commands
+++ b/doc/README.commands
@@ -83,9 +83,9 @@ argv:		Arguments.
 
 Allowable return value are:
 
-CMD_SUCCESS	The command was successfully executed.
+CMD_RET_SUCCESS	The command was successfully executed.
 
-CMD_FAILURE	The command failed.
+CMD_RET_FAILURE	The command failed.
 
 CMD_RET_USAGE	The command was called with invalid parameters. This value
 		leads to the display of the usage string.
-- 
2.20.1

  reply	other threads:[~2020-01-05 19:10 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-05 19:10 [PATCH 0/1 v1] cmd: gpio: Correct do_gpio() return value Luka Kovacic
2020-01-05 19:10 ` Luka Kovacic [this message]
2020-01-23 12:31   ` [PATCH 1/1 " Tom Rini
2020-01-23 21:04     ` Luka Kovačič
2020-01-23 21:12       ` Tom Rini
2020-01-27  6:30         ` [PATCH 1/2 v1] cmd: doc: Update command return values luka.kovacic at sartura.hr
2020-01-27  6:30         ` [PATCH 2/2 v1] cmd: gpio: Add the command return value to the help text luka.kovacic at sartura.hr
2020-01-30  2:17         ` [PATCH 1/1 v1] cmd: gpio: Correct do_gpio() return value Simon Glass
2020-01-30 18:52           ` Tom Rini
2020-01-31  2:27             ` Simon Glass
2020-01-31 20:59               ` Tom Rini
2020-02-02 22:50                 ` Simon Glass
2020-02-08  0:05   ` Tom Rini
2020-03-10  9:47     ` Alex Kiernan
2020-03-10 12:37       ` Tom Rini
2020-03-10 13:23         ` Alex Kiernan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200105191056.12571-2-luka.kovacic@sartura.hr \
    --to=luka.kovacic@sartura.hr \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.