compile out cli_hush.c for spl/dfu and use cli_simple_run_command for dfu to reduce the spl-dfu memory foot print.
Adding CONFIG_SPL_DFU_MMC to Kconfig and use CONFIG_IS_ENABLED(DFU_MMC). Signed-off-by: Ravi Babu <ravib...@ti.com> --- --- common/Makefile | 1 - drivers/dfu/Kconfig | 5 +++++ drivers/dfu/Makefile | 3 +++ drivers/dfu/dfu_mmc.c | 5 +++++ include/dfu.h | 2 +- 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/common/Makefile b/common/Makefile index 86225f1..6e90078 100644 --- a/common/Makefile +++ b/common/Makefile @@ -90,7 +90,6 @@ endif # !CONFIG_SPL_BUILD ifdef CONFIG_SPL_BUILD obj-$(CONFIG_SPL_DFU_SUPPORT) += dfu.o -obj-$(CONFIG_SPL_DFU_SUPPORT) += cli_hush.o obj-$(CONFIG_SPL_HASH_SUPPORT) += hash.o obj-$(CONFIG_ENV_IS_IN_FLASH) += env_flash.o obj-$(CONFIG_SPL_YMODEM_SUPPORT) += xyzModem.o diff --git a/drivers/dfu/Kconfig b/drivers/dfu/Kconfig index 56a98f5..99a0db1 100644 --- a/drivers/dfu/Kconfig +++ b/drivers/dfu/Kconfig @@ -17,6 +17,11 @@ config DFU_MMC help This option enables using DFU to read and write to MMC based storage. +config SPL_DFU_MMC + bool "MMC back end for SPL-DFU" + help + This option enables DFU for SPL to read and write to MMC based storage. + config DFU_NAND bool "NAND back end for DFU" help diff --git a/drivers/dfu/Makefile b/drivers/dfu/Makefile index 61f2b71..7060908 100644 --- a/drivers/dfu/Makefile +++ b/drivers/dfu/Makefile @@ -6,7 +6,10 @@ # 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 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_mmc.c b/drivers/dfu/dfu_mmc.c index 926ccbd..ba509db 100644 --- a/drivers/dfu/dfu_mmc.c +++ b/drivers/dfu/dfu_mmc.c @@ -15,6 +15,7 @@ #include <ext4fs.h> #include <fat.h> #include <mmc.h> +#include <cli.h> static unsigned char *dfu_file_buf; static long dfu_file_buf_len; @@ -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 if (ret) { puts("dfu: Read error!\n"); return ret; diff --git a/include/dfu.h b/include/dfu.h index f39d3f1..94d2a49 100644 --- a/include/dfu.h +++ b/include/dfu.h @@ -203,7 +203,7 @@ static inline void dfu_set_defer_flush(struct dfu_entity *dfu) int dfu_write_from_mem_addr(struct dfu_entity *dfu, void *buf, int size); /* Device specific */ -#ifdef CONFIG_DFU_MMC +#if CONFIG_IS_ENABLED(DFU_MMC) extern int dfu_fill_entity_mmc(struct dfu_entity *dfu, char *devstr, char *s); #else static inline int dfu_fill_entity_mmc(struct dfu_entity *dfu, char *devstr, -- 1.9.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot