[PATCH] cmd: gpio: Make `gpio input` return pin value again
Alex Kiernan
alex.kiernan at gmail.com
Tue Mar 10 11:32:49 CET 2020
4dbc107f4683 ("cmd: gpio: Correct do_gpio() return value") correctly
changed the behaviour of the gpio command to return CMD_RET_SUCCESS or
CMD_RET_FAILURE.
But any existing script which expects the return value to be the pin
value is broken by this change.
Reinstate the legacy behaviour for `gpio input` only.
Fixes: 4dbc107f4683 ("cmd: gpio: Correct do_gpio() return value")
Signed-off-by: Alex Kiernan <alex.kiernan at gmail.com>
---
cmd/gpio.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/cmd/gpio.c b/cmd/gpio.c
index 16c2cebb3d4b..b716f6f18b95 100644
--- a/cmd/gpio.c
+++ b/cmd/gpio.c
@@ -248,7 +248,11 @@ static int do_gpio(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if (ret != -EBUSY)
gpio_free(gpio);
- return CMD_RET_SUCCESS;
+ /*
+ * Whilst wrong, the legacy gpio input command returns the pin value
+ * (or CMD_RET_FAILURE)
+ */
+ return (sub_cmd == GPIOC_INPUT) ? value : CMD_RET_SUCCESS;
err:
if (ret != -EBUSY)
--
2.17.1
More information about the U-Boot
mailing list