cmd/dfu: Enable 'dfu list' command without DFU_OVER_USB
authorMasami Hiramatsu <masami.hiramatsu@linaro.org>
Mon, 31 Jan 2022 02:52:54 +0000 (11:52 +0900)
committerTom Rini <trini@konsulko.com>
Fri, 11 Feb 2022 16:29:23 +0000 (11:29 -0500)
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>
cmd/dfu.c

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