Hi Tom >> >> 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.
>We keep running into problems due to trying to whack in what to do in DFU via >command rather than via API. Can you make an attempt to convert things over, >in both SPL and not SPL, in DFU to using ABI instead, to see if we can get the >size reduction here still, and >not have to try and put fragile to other use >cases ifdefs in common code? Thanks! Use of direct mmc read/write API instead of using the run_command() is not feasible in this case. As the DFU does read/write to mmc through fat/ext4 files system, uses "fatload/fatwrite" or "ext4load/ext4write" command to perform read/write to specific partition of mmc device. I think use of run_command() is more appropriate. Regards Ravi _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot