[U-Boot] [PATCH v2 2/4] dfu: Refactor do_dfu() to handle optional argument

Andy Shevchenko andriy.shevchenko at linux.intel.com
Wed Nov 27 16:12:14 UTC 2019


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 at linux.intel.com>
Acked-by: Lukasz Majewski <lukma at denx.de>
---
 cmd/dfu.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/cmd/dfu.c b/cmd/dfu.c
index 33491d0bc9..14a8ec879e 100644
--- 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);
-- 
2.24.0



More information about the U-Boot mailing list