
Hi Tom
Sorry for late response, some how missed this mail.
obj-$(CONFIG_USB_FUNCTION_DFU) += dfu.o +ifndef CONFIG_SPL_BUILD obj-$(CONFIG_DFU_MMC) += dfu_mmc.o +endif +obj-$(CONFIG_SPL_DFU_MMC) += dfu_mmc.o
This becomes obj-$(CONFIG_$(SPL_)DFU_MMC) += dfu_mmc.o
diff --git a/drivers/dfu/dfu_mmc.c b/drivers/dfu/dfu_mmc.c index 926ccbd..ba509db 100644 --- a/drivers/dfu/dfu_mmc.c +++ b/drivers/dfu/dfu_mmc.c
[snip]
@@ -154,7 +155,11 @@ static int mmc_file_op(enum dfu_op op, struct dfu_entity *dfu,
debug("%s: %s 0x%p\n", __func__, cmd_buf, cmd_buf);
+#if CONFIG_IS_ENABLED(DFU_MMC)
- ret = cli_simple_run_command(cmd_buf, 0); #else ret = run_command(cmd_buf, 0);
+#endif
This doesn't make sense. CONFIG_IS_ENABLED(DFU_MMC) is true for CONFIG_DFU_MMC or CONFIG_SPL_DFU_MMC. Thanks!
True, My bad, I realized it lately after posting the patch.
I will use run_command() only, which abstrace use of both simple_cli_xx() and hush_parser.
Since cli_hush.c is compile out for SPL to reduce the size. SPL must use simple_cli_xx(). Since by default CONFIG_HUSH_PARSER is defined for both SPL/U-BOOT, this leads to compile error. I need to fix this way.
diff --git a/common/cli.c b/common/cli.c index a433ef2..5053f8a 100644 --- a/common/cli.c +++ b/common/cli.c @@ -28,7 +28,7 @@ DECLARE_GLOBAL_DATA_PTR; */ int run_command(const char *cmd, int flag) { -#ifndef CONFIG_HUSH_PARSER +#if !defined(CONFIG_HUSH_PARSER) || defined(CONFIG_SPL_BUILD) /* * cli_run_command can return 0 or 1 for success, so clean up * its result.
Is it ok, any other option ?
Regards Ravi