
On Wed, May 16, 2018 at 12:20 AM Joe Hershberger joe.hershberger@ni.com wrote:
On Tue, May 15, 2018 at 9:48 AM, Alex Kiernan alex.kiernan@gmail.com
wrote:
Introduce CONFIG_IMAGE_SPARSE and CONFIG_CMD_MMC_SWRITE so the "mmc swrite" command is separated from the fastboot code.
Move image-sparse from common to lib so it's clear it's library code.
Signed-off-by: Alex Kiernan alex.kiernan@gmail.com
Changes in v4:
- new
Changes in v3: None Changes in v2: None
cmd/Kconfig | 8 ++++++++ cmd/mmc.c | 12 ++++++------ common/Makefile | 1 - drivers/fastboot/Kconfig | 1 + lib/Kconfig | 3 +++ lib/Makefile | 1 + {common => lib}/image-sparse.c | 0 7 files changed, 19 insertions(+), 7 deletions(-) rename {common => lib}/image-sparse.c (100%)
diff --git a/cmd/Kconfig b/cmd/Kconfig index df2194c..b5fa657 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -826,6 +826,14 @@ config CMD_MMC help MMC memory mapped support.
+config CMD_MMC_SWRITE
bool "mmc swrite"
depends on CMD_MMC && MMC_WRITE
select IMAGE_SPARSE
help
Enable support for the "mmc swrite" command to write Android
sparse
images to eMMC.
config CMD_NAND bool "nand" default y if NAND_SUNXI diff --git a/cmd/mmc.c b/cmd/mmc.c index cc44525..66c3ee0 100644 --- a/cmd/mmc.c +++ b/cmd/mmc.c @@ -308,8 +308,7 @@ static int do_mmc_read(cmd_tbl_t *cmdtp, int flag, return (n == cnt) ? CMD_RET_SUCCESS : CMD_RET_FAILURE; }
-#if CONFIG_IS_ENABLED(MMC_WRITE) -#if defined(CONFIG_FASTBOOT_FLASH) +#if CONFIG_IS_ENABLED(CMD_MMC_SWRITE) static lbaint_t mmc_sparse_write(struct sparse_storage *info, lbaint_t
blk,
lbaint_t blkcnt, const void *buffer)
{ @@ -374,6 +373,7 @@ static int do_mmc_sparse_write(cmd_tbl_t *cmdtp,
int flag,
} #endif
+#if CONFIG_IS_ENABLED(MMC_WRITE) static int do_mmc_write(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { @@ -868,11 +868,11 @@ static cmd_tbl_t cmd_mmc[] = { U_BOOT_CMD_MKENT(read, 4, 1, do_mmc_read, "", ""), #if CONFIG_IS_ENABLED(MMC_WRITE) U_BOOT_CMD_MKENT(write, 4, 0, do_mmc_write, "", ""), -#if defined(CONFIG_FASTBOOT_FLASH)
U_BOOT_CMD_MKENT(swrite, 3, 0, do_mmc_sparse_write, "", ""),
-#endif U_BOOT_CMD_MKENT(erase, 3, 0, do_mmc_erase, "", ""), #endif +#if CONFIG_IS_ENABLED(CMD_MMC_SWRITE)
U_BOOT_CMD_MKENT(swrite, 3, 0, do_mmc_sparse_write, "", ""),
+#endif U_BOOT_CMD_MKENT(rescan, 1, 1, do_mmc_rescan, "", ""), U_BOOT_CMD_MKENT(part, 1, 1, do_mmc_part, "", ""), U_BOOT_CMD_MKENT(dev, 3, 0, do_mmc_dev, "", ""), @@ -927,7 +927,7 @@ U_BOOT_CMD( "info - display info of the current MMC device\n" "mmc read addr blk# cnt\n" "mmc write addr blk# cnt\n" -#if defined(CONFIG_FASTBOOT_FLASH) +#if CONFIG_IS_ENABLED(CMD_MMC_SWRITE) "mmc swrite addr blk#\n" #endif "mmc erase blk# cnt\n" diff --git a/common/Makefile b/common/Makefile index 9ec40b9..b3da72e 100644 --- a/common/Makefile +++ b/common/Makefile @@ -29,7 +29,6 @@ obj-$(CONFIG_CMD_BOOTI) += bootm.o bootm_os.o
obj-$(CONFIG_CMD_BEDBUG) += bedbug.o obj-$(CONFIG_$(SPL_TPL_)OF_LIBFDT) += fdt_support.o -obj-$(CONFIG_FASTBOOT_FLASH) += image-sparse.o obj-$(CONFIG_MII) += miiphyutil.o obj-$(CONFIG_CMD_MII) += miiphyutil.o obj-$(CONFIG_PHYLIB) += miiphyutil.o diff --git a/drivers/fastboot/Kconfig b/drivers/fastboot/Kconfig index 51c5789..82e1420 100644 --- a/drivers/fastboot/Kconfig +++ b/drivers/fastboot/Kconfig @@ -57,6 +57,7 @@ config FASTBOOT_FLASH bool "Enable FASTBOOT FLASH command" default y if ARCH_SUNXI depends on MMC || (NAND && CMD_MTDPARTS)
select IMAGE_SPARSE
Is this useful if we are NAND and not MMC? It seems no.
There's code in drivers/fastboot/fb_nand.c which will write sparse images, so I think the select is right.
That said, there's nothings in configs/ which actually selects FASTBOOT_FLASH_NAND
-- Alex Kiernan