dfu: Refactor do_dfu() to handle optional argument
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 27 Nov 2019 16:12:14 +0000 (18:12 +0200)
committerMarek Vasut <marek.vasut+renesas@gmail.com>
Tue, 7 Jan 2020 13:37:50 +0000 (14:37 +0100)
In the future we may utilize optional argument in 'dfu' command line.
As a preparation for this, refactor do_dfu().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Lukasz Majewski <lukma@denx.de>
cmd/dfu.c

index 33491d0..14a8ec8 100644 (file)
--- a/cmd/dfu.c
+++ b/cmd/dfu.c
@@ -30,22 +30,25 @@ static int do_dfu(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 #if defined(CONFIG_DFU_OVER_USB) || defined(CONFIG_DFU_OVER_TFTP)
        char *interface = NULL;
        char *devstring = NULL;
+#if defined(CONFIG_DFU_OVER_TFTP)
+       unsigned long value = 0;
+#endif
 
        if (argc >= 4) {
                interface = argv[2];
                devstring = argv[3];
        }
+
+#if defined(CONFIG_DFU_OVER_TFTP)
+       if (argc == 5 || argc == 3)
+               value = simple_strtoul(argv[argc - 1], NULL, 0);
+#endif
 #endif
 
        int ret = 0;
 #ifdef CONFIG_DFU_OVER_TFTP
-       unsigned long addr = 0;
-       if (!strcmp(argv[1], "tftp")) {
-               if (argc == 5 || argc == 3)
-                       addr = simple_strtoul(argv[argc - 1], NULL, 0);
-
-               return update_tftp(addr, interface, devstring);
-       }
+       if (!strcmp(argv[1], "tftp"))
+               return update_tftp(value, interface, devstring);
 #endif
 #ifdef CONFIG_DFU_OVER_USB
        ret = dfu_init_env_entities(interface, devstring);