On Wed, May 16, 2018 at 12:00 AM, Alex Kiernan <[email protected]> wrote: > On Wed, May 16, 2018 at 12:20 AM Joe Hershberger <[email protected]> > wrote: > >> On Tue, May 15, 2018 at 9:48 AM, Alex Kiernan <[email protected]> > 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 <[email protected]> >> > --- >> > >> > 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.
OK, then this is fine. > That said, there's nothings in configs/ which actually selects > FASTBOOT_FLASH_NAND OK, I guess we can wait for a board to come along that uses it? > -- > Alex Kiernan > _______________________________________________ > U-Boot mailing list > [email protected] > https://lists.denx.de/listinfo/u-boot _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

