aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorPaul Barker <paul.barker.ct@bp.renesas.com>2023-10-16 10:25:31 +0100
committerMarek Vasut <marek.vasut+renesas@mailbox.org>2023-10-16 15:46:18 +0200
commitee0522f52006cf6722dc783fe57ce86bbeda7aa2 (patch)
tree56f54e34f5e921f40772e380d88abd3dea06aa33 /cmd
parent959fc0bd724e7fb0788e85881d5e0d88de613ecf (diff)
downloadu-boot-ee0522f52006cf6722dc783fe57ce86bbeda7aa2.zip
u-boot-ee0522f52006cf6722dc783fe57ce86bbeda7aa2.tar.gz
u-boot-ee0522f52006cf6722dc783fe57ce86bbeda7aa2.tar.bz2
cmd: gpio: Skip output on -ENOENT
On the Renesas RZ/G2L SoC family, valid GPIO numbers are not contiguous. This is determined by the device tree, where a fixed number of bits are used for the 'pin' number within a 'port', even though not all ports have the same number of pins. The device tree can't be changed here without breaking backwards compatibility in Linux, which we don't want to do. To avoid printing a status for each of these invalid GPIO numbers when a user executes `gpio status -a`, we allow gpio_get_function() to return -ENOENT when the given offset does not refer to a valid GPIO pin and we skip printing anything if this occurs. Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Diffstat (limited to 'cmd')
-rw-r--r--cmd/gpio.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/cmd/gpio.c b/cmd/gpio.c
index f456598..dab6f70 100644
--- a/cmd/gpio.c
+++ b/cmd/gpio.c
@@ -17,6 +17,7 @@
#endif
#include <asm/gpio.h>
#include <linux/err.h>
+#include <dm/device_compat.h>
__weak int name_to_gpio(const char *name)
{
@@ -69,7 +70,8 @@ static void gpio_get_description(struct udevice *dev, const char *bank_name,
printf("%s\n", buf);
return;
err:
- printf("Error %d\n", ret);
+ if (ret != -ENOENT)
+ printf("Error %d\n", ret);
}
static int do_gpio_status(bool all, const char *gpio_name)