[U-Boot] [PATCH v3 3/3] spl: dfu: reduce spl-dfu MLO size

B, Ravi ravibabu at ti.com
Fri May 12 08:44:31 UTC 2017


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


More information about the U-Boot mailing list