[U-Boot] [PATCH] dfu: Limit dfu_mmc to non-SPL case

Since 82b9dc63 ("Only build cli_readline.o for CMDLINE on non-SPL"), cli_simple.c is only being built for non-SPL case. However, dfu_mmc requires cli_simple.c to build and dfu fails to build for SPL when CONFIG_HUSH_PARSER is disabled.
Therefore, limit dfu_mmc to non-SPL case only.
Signed-off-by: Faiz Abbas faiz_abbas@ti.com --- drivers/dfu/Makefile | 2 ++ drivers/dfu/dfu.c | 2 ++ 2 files changed, 4 insertions(+)
diff --git a/drivers/dfu/Makefile b/drivers/dfu/Makefile index 61f2b71..5628734 100644 --- a/drivers/dfu/Makefile +++ b/drivers/dfu/Makefile @@ -6,7 +6,9 @@ #
obj-$(CONFIG_USB_FUNCTION_DFU) += dfu.o +ifndef CONFIG_SPL_BUILD obj-$(CONFIG_DFU_MMC) += dfu_mmc.o +endif obj-$(CONFIG_DFU_NAND) += dfu_nand.o obj-$(CONFIG_DFU_RAM) += dfu_ram.o obj-$(CONFIG_DFU_SF) += dfu_sf.o diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c index 2c22b62..a16e10e 100644 --- a/drivers/dfu/dfu.c +++ b/drivers/dfu/dfu.c @@ -398,8 +398,10 @@ static int dfu_fill_entity(struct dfu_entity *dfu, char *s, int alt,
/* Specific for mmc device */ if (strcmp(interface, "mmc") == 0) { +#ifndef CONFIG_SPL_BUILD if (dfu_fill_entity_mmc(dfu, devstr, s)) return -1; +#endif } else if (strcmp(interface, "nand") == 0) { if (dfu_fill_entity_nand(dfu, devstr, s)) return -1;

On Wed, Feb 14, 2018 at 07:59:46PM +0530, Faiz Abbas wrote:
Since 82b9dc63 ("Only build cli_readline.o for CMDLINE on non-SPL"), cli_simple.c is only being built for non-SPL case. However, dfu_mmc requires cli_simple.c to build and dfu fails to build for SPL when CONFIG_HUSH_PARSER is disabled.
Therefore, limit dfu_mmc to non-SPL case only.
Signed-off-by: Faiz Abbas faiz_abbas@ti.com
drivers/dfu/Makefile | 2 ++ drivers/dfu/dfu.c | 2 ++ 2 files changed, 4 insertions(+)
Does DFU for MMC make sense inside of SPL? If so, you should follow 82b9dc63 and CONFIG_FSL_DDR_INTERACTIVE and bring back in cli_simple.o (and cli_readline.o, if needed) for CONFIG_SPL_DFU_MMC or so. If not, we should more cleanly and clearly block out all non-DFU RAM cases for SPL. Thanks!

Hi,
On Wednesday 14 February 2018 08:04 PM, Tom Rini wrote:
On Wed, Feb 14, 2018 at 07:59:46PM +0530, Faiz Abbas wrote:
Since 82b9dc63 ("Only build cli_readline.o for CMDLINE on non-SPL"), cli_simple.c is only being built for non-SPL case. However, dfu_mmc requires cli_simple.c to build and dfu fails to build for SPL when CONFIG_HUSH_PARSER is disabled.
Therefore, limit dfu_mmc to non-SPL case only.
Signed-off-by: Faiz Abbas faiz_abbas@ti.com
drivers/dfu/Makefile | 2 ++ drivers/dfu/dfu.c | 2 ++ 2 files changed, 4 insertions(+)
Does DFU for MMC make sense inside of SPL?
No.
If so, you should follow
82b9dc63 and CONFIG_FSL_DDR_INTERACTIVE and bring back in cli_simple.o (and cli_readline.o, if needed) for CONFIG_SPL_DFU_MMC or so. If not, we should more cleanly and clearly block out all non-DFU RAM cases for SPL. Thanks!
Do you mean non-RAM DFU cases? Block out everything but RAM?
Thanks, Faiz

On Wed, Feb 14, 2018 at 08:15:15PM +0530, Faiz Abbas wrote:
Hi,
On Wednesday 14 February 2018 08:04 PM, Tom Rini wrote:
On Wed, Feb 14, 2018 at 07:59:46PM +0530, Faiz Abbas wrote:
Since 82b9dc63 ("Only build cli_readline.o for CMDLINE on non-SPL"), cli_simple.c is only being built for non-SPL case. However, dfu_mmc requires cli_simple.c to build and dfu fails to build for SPL when CONFIG_HUSH_PARSER is disabled.
Therefore, limit dfu_mmc to non-SPL case only.
Signed-off-by: Faiz Abbas faiz_abbas@ti.com
drivers/dfu/Makefile | 2 ++ drivers/dfu/dfu.c | 2 ++ 2 files changed, 4 insertions(+)
Does DFU for MMC make sense inside of SPL?
No.
If so, you should follow
82b9dc63 and CONFIG_FSL_DDR_INTERACTIVE and bring back in cli_simple.o (and cli_readline.o, if needed) for CONFIG_SPL_DFU_MMC or so. If not, we should more cleanly and clearly block out all non-DFU RAM cases for SPL. Thanks!
Do you mean non-RAM DFU cases? Block out everything but RAM?
Based on looking at what's in Kconfig at least, yes, only SPL+DFU RAM is what's possible now. So we should make the code more clearly show that. Thanks!

Hi Faiz,
Hi,
On Wednesday 14 February 2018 08:04 PM, Tom Rini wrote:
On Wed, Feb 14, 2018 at 07:59:46PM +0530, Faiz Abbas wrote:
Since 82b9dc63 ("Only build cli_readline.o for CMDLINE on non-SPL"), cli_simple.c is only being built for non-SPL case. However, dfu_mmc requires cli_simple.c to build and dfu fails to build for SPL when CONFIG_HUSH_PARSER is disabled.
Therefore, limit dfu_mmc to non-SPL case only.
Signed-off-by: Faiz Abbas faiz_abbas@ti.com
drivers/dfu/Makefile | 2 ++ drivers/dfu/dfu.c | 2 ++ 2 files changed, 4 insertions(+)
Does DFU for MMC make sense inside of SPL?
No.
If so, you should follow
82b9dc63 and CONFIG_FSL_DDR_INTERACTIVE and bring back in cli_simple.o (and cli_readline.o, if needed) for CONFIG_SPL_DFU_MMC or so. If not, we should more cleanly and clearly block out all non-DFU RAM cases for SPL. Thanks!
Do you mean non-RAM DFU cases? Block out everything but RAM?
I think yes - only TI is using DFU RAM to download u-boot to configured DDRAM and execute it from there.
So I agree with Tom, other gargets and DFU parts shall _not_ be enabled for SPL (as it consumes a lot of space).
Thanks, Faiz
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
participants (3)
-
Faiz Abbas
-
Lukasz Majewski
-
Tom Rini