On Sun, 29 Oct 2023 23:37:22 +0100 Marek Vasut <ma...@denx.de> wrote:
> Add support for exposing the whole mmc device by setting the 'size' > parameter to 0. This can be useful in case it is not clear what the > total device size is up front. Update the documentation accordingly. > > Signed-off-by: Marek Vasut <ma...@denx.de> > --- > Cc: Lukasz Majewski <lu...@denx.de> > Cc: Mattijs Korpershoek <mkorpersh...@baylibre.com> > Cc: Tom Rini <tr...@konsulko.com> > --- > doc/usage/dfu.rst | 5 +++++ > drivers/dfu/dfu_mmc.c | 10 ++++++++++ > 2 files changed, 15 insertions(+) > > diff --git a/doc/usage/dfu.rst b/doc/usage/dfu.rst > index 68cacbbef66..8845a71df36 100644 > --- a/doc/usage/dfu.rst > +++ b/doc/usage/dfu.rst > @@ -121,6 +121,11 @@ mmc > > with > > + offset > + is the offset in the device (hexadecimal without "0x") > + size > + is the size of the access area (hexadecimal without "0x") > + or 0 which means whole device > partid > being the GPT or DOS partition index, > num > diff --git a/drivers/dfu/dfu_mmc.c b/drivers/dfu/dfu_mmc.c > index cdb3c18b01d..12c54e90ef7 100644 > --- a/drivers/dfu/dfu_mmc.c > +++ b/drivers/dfu/dfu_mmc.c > @@ -386,6 +386,16 @@ int dfu_fill_entity_mmc(struct dfu_entity *dfu, > char *devstr, char **argv, int a dfu->data.mmc.lba_size > = third_arg; dfu->data.mmc.lba_blk_size = > mmc->read_bl_len; > + /* > + * In case the size is zero (i.e. mmc raw 0x10 0), > + * assume the user intends to use whole device. > + */ > + if (third_arg == 0) { > + struct blk_desc *blk_dev = > mmc_get_blk_desc(mmc); + > + dfu->data.mmc.lba_size = blk_dev->lba; > + } > + > /* > * Check for an extra entry at dfu_alt_info env > variable > * specifying the mmc HW defined partition number Reviewed-by: Lukasz Majewski <lu...@denx.de> Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Erika Unter HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lu...@denx.de
pgpsLQgythQmB.pgp
Description: OpenPGP digital signature