summaryrefslogtreecommitdiff
path: root/cmd/regulator.c
diff options
context:
space:
mode:
authorMichal Suchanek <msuchanek@suse.de>2022-10-12 21:57:58 +0200
committerSimon Glass <sjg@chromium.org>2022-10-17 21:17:12 -0600
commit8676ae36ae4617b20b5cc49972c54c63c7b27bb3 (patch)
tree734d8ece41b094b709432ff5252b2d20d67dc422 /cmd/regulator.c
parent9244645f929bdff2ce87d1d967a78a0e05cebd80 (diff)
cmd: List all uclass devices regardless of probe error
There are a few commands that iterate uclass with uclass_first_device/uclass_next_device or the _err variant. Use the _check class iterator variant to get devices that fail to probe as well, and print the status. Signed-off-by: Michal Suchanek <msuchanek@suse.de> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'cmd/regulator.c')
-rw-r--r--cmd/regulator.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/cmd/regulator.c b/cmd/regulator.c
index 60a70036d68..ed4996dbd2b 100644
--- a/cmd/regulator.c
+++ b/cmd/regulator.c
@@ -205,7 +205,7 @@ static void do_status_detail(struct udevice *dev,
constraint(" * mode id:", mode, mode_name);
}
-static void do_status_line(struct udevice *dev)
+static void do_status_line(struct udevice *dev, int status)
{
struct dm_regulator_uclass_plat *pdata;
int current, value, mode;
@@ -231,6 +231,7 @@ static void do_status_line(struct udevice *dev)
printf("%-10s", mode_name);
else
printf("%-10s", "-");
+ printf(" %i", status);
printf("\n");
}
@@ -250,11 +251,11 @@ static int do_status(struct cmd_tbl *cmdtp, int flag, int argc,
}
/* Show all of them in a list, probing them as needed */
- printf("%-20s %-10s %10s %10s %-10s\n", "Name", "Enabled", "uV", "mA",
- "Mode");
- for (ret = uclass_first_device(UCLASS_REGULATOR, &dev); dev;
- ret = uclass_next_device(&dev))
- do_status_line(dev);
+ printf("%-20s %-10s %10s %10s %-10s %s\n", "Name", "Enabled", "uV", "mA",
+ "Mode", "Status");
+ for (ret = uclass_first_device_check(UCLASS_REGULATOR, &dev); dev;
+ ret = uclass_next_device_check(&dev))
+ do_status_line(dev, ret);
return CMD_RET_SUCCESS;
}