On Wed, May 24, 2017 at 12:11:57PM +0000, B, Ravi wrote:
> 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.OK. Can you go back to https://patchwork.ozlabs.org/patch/758485/ and clean that up as I was saying? We should be able to call cli_simple_run_command in all cases and then not need cli_hush.c, yes? And we can then move common/cli.c into being compiled only in the non-SPL case I think (but use travis-ci to confirm). Thanks! -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

