summaryrefslogtreecommitdiff
path: root/cmd/gpio.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2022-10-18 07:36:52 -0400
committerTom Rini <trini@konsulko.com>2022-10-18 07:36:52 -0400
commit700b4fe782f9fc46b7be1b1a93a49356baeccc3f (patch)
tree7c4f01a95ceb7288ac9f95ffb59c2ea11b0a33cf /cmd/gpio.c
parentd3031d442b941f059eb83bb67ca10a28a0539f9a (diff)
parentae0bf2214b81b56a5670819958234947443680be (diff)
Merge tag 'dm-pull-18oct22' of https://source.denx.de/u-boot/custodians/u-boot-dm
Update uclass iterators to work better when devices fail to probe Support VBE OS requests / fixups Minor error-handling tweaks to bootm command
Diffstat (limited to 'cmd/gpio.c')
-rw-r--r--cmd/gpio.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/cmd/gpio.c b/cmd/gpio.c
index 53e9ce666f9..f4565982ecd 100644
--- a/cmd/gpio.c
+++ b/cmd/gpio.c
@@ -77,17 +77,24 @@ static int do_gpio_status(bool all, const char *gpio_name)
struct udevice *dev;
int banklen;
int flags;
- int ret;
+ int ret, err = 0;
flags = 0;
if (gpio_name && !*gpio_name)
gpio_name = NULL;
- for (ret = uclass_first_device(UCLASS_GPIO, &dev);
+ for (ret = uclass_first_device_check(UCLASS_GPIO, &dev);
dev;
- ret = uclass_next_device(&dev)) {
+ ret = uclass_next_device_check(&dev)) {
const char *bank_name;
int num_bits;
+ if (ret) {
+ printf("GPIO device %s probe error %i\n",
+ dev->name, ret);
+ err = ret;
+ continue;
+ }
+
flags |= FLAG_SHOW_BANK;
if (all)
flags |= FLAG_SHOW_ALL;
@@ -120,7 +127,7 @@ static int do_gpio_status(bool all, const char *gpio_name)
flags |= FLAG_SHOW_NEWLINE;
}
- return ret;
+ return err;
}
#endif