cmd/dfu: Enable 'dfu list' command without DFU_OVER_USB

Since dfu is not only used for USB, and some platform only
supports DFU_OVER_TFTP or EFI capsule update, dfu_alt_info
is defined on such platforms too.

For such platform, 'dfu list' command is useful to check
how the current dfu_alt_info setting is parsed.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
This commit is contained in:
Masami Hiramatsu 2022-01-31 11:52:54 +09:00 committed by Tom Rini
parent c25a838c9c
commit e9b0fd839b

View File

@ -28,7 +28,6 @@ static int do_dfu(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
#ifdef CONFIG_DFU_OVER_USB #ifdef CONFIG_DFU_OVER_USB
char *usb_controller = argv[1]; char *usb_controller = argv[1];
#endif #endif
#if defined(CONFIG_DFU_OVER_USB) || defined(CONFIG_DFU_OVER_TFTP)
char *interface = NULL; char *interface = NULL;
char *devstring = NULL; char *devstring = NULL;
#if defined(CONFIG_DFU_TIMEOUT) || defined(CONFIG_DFU_OVER_TFTP) #if defined(CONFIG_DFU_TIMEOUT) || defined(CONFIG_DFU_OVER_TFTP)
@ -42,7 +41,6 @@ static int do_dfu(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
#if defined(CONFIG_DFU_TIMEOUT) || defined(CONFIG_DFU_OVER_TFTP) #if defined(CONFIG_DFU_TIMEOUT) || defined(CONFIG_DFU_OVER_TFTP)
if (argc == 5 || argc == 3) if (argc == 5 || argc == 3)
value = simple_strtoul(argv[argc - 1], NULL, 0); value = simple_strtoul(argv[argc - 1], NULL, 0);
#endif
#endif #endif
int ret = 0; int ret = 0;
@ -50,7 +48,6 @@ static int do_dfu(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
if (!strcmp(argv[1], "tftp")) if (!strcmp(argv[1], "tftp"))
return update_tftp(value, interface, devstring); return update_tftp(value, interface, devstring);
#endif #endif
#ifdef CONFIG_DFU_OVER_USB
ret = dfu_init_env_entities(interface, devstring); ret = dfu_init_env_entities(interface, devstring);
if (ret) if (ret)
goto done; goto done;
@ -65,6 +62,7 @@ static int do_dfu(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
goto done; goto done;
} }
#ifdef CONFIG_DFU_OVER_USB
int controller_index = simple_strtoul(usb_controller, NULL, 0); int controller_index = simple_strtoul(usb_controller, NULL, 0);
bool retry = false; bool retry = false;
do { do {
@ -79,9 +77,9 @@ static int do_dfu(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
} }
} while (retry); } while (retry);
#endif
done: done:
dfu_free_entities(); dfu_free_entities();
#endif
return ret; return ret;
} }
@ -100,8 +98,8 @@ U_BOOT_CMD(dfu, CONFIG_SYS_MAXARGS, 1, do_dfu,
#ifdef CONFIG_DFU_TIMEOUT #ifdef CONFIG_DFU_TIMEOUT
" [<timeout>] - specify inactivity timeout in seconds\n" " [<timeout>] - specify inactivity timeout in seconds\n"
#endif #endif
" [list] - list available alt settings\n"
#endif #endif
" [list] - list available alt settings\n"
#ifdef CONFIG_DFU_OVER_TFTP #ifdef CONFIG_DFU_OVER_TFTP
#ifdef CONFIG_DFU_OVER_USB #ifdef CONFIG_DFU_OVER_USB
"dfu " "dfu "