mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-17 14:18:14 +01:00
cmd: bdinfo: Optionally use getopt and implement bdinfo -a
Add optional support for getopt() and in case this is enabled via GETOPT configuration option, implement support for 'bdinfo -a'. The 'bdinfo -a' behaves exactly like bdinfo and prints 'all' the bdinfo information. This is implemented in preparation for other more fine-grained options. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
This commit is contained in:
parent
dd8d52c934
commit
b6a90ac090
29
cmd/bdinfo.c
29
cmd/bdinfo.c
@ -10,6 +10,7 @@
|
||||
#include <command.h>
|
||||
#include <dm.h>
|
||||
#include <env.h>
|
||||
#include <getopt.h>
|
||||
#include <lmb.h>
|
||||
#include <mapmem.h>
|
||||
#include <net.h>
|
||||
@ -133,10 +134,8 @@ static void print_serial(struct udevice *dev)
|
||||
bdinfo_print_num_l(" clock", info.clock);
|
||||
}
|
||||
|
||||
int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
||||
static int bdinfo_print_all(struct bd_info *bd)
|
||||
{
|
||||
struct bd_info *bd = gd->bd;
|
||||
|
||||
#ifdef DEBUG
|
||||
bdinfo_print_num_l("bd address", (ulong)bd);
|
||||
#endif
|
||||
@ -184,8 +183,30 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
||||
return 0;
|
||||
}
|
||||
|
||||
int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
||||
{
|
||||
struct bd_info *bd = gd->bd;
|
||||
struct getopt_state gs;
|
||||
int opt;
|
||||
|
||||
if (!CONFIG_IS_ENABLED(GETOPT) || argc == 1)
|
||||
return bdinfo_print_all(bd);
|
||||
|
||||
getopt_init_state(&gs);
|
||||
while ((opt = getopt(&gs, argc, argv, "a")) > 0) {
|
||||
switch (opt) {
|
||||
case 'a':
|
||||
return bdinfo_print_all(bd);
|
||||
default:
|
||||
return CMD_RET_USAGE;
|
||||
}
|
||||
}
|
||||
|
||||
return CMD_RET_USAGE;
|
||||
}
|
||||
|
||||
U_BOOT_CMD(
|
||||
bdinfo, 1, 1, do_bdinfo,
|
||||
bdinfo, 2, 1, do_bdinfo,
|
||||
"print Board Info structure",
|
||||
""
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user