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

Attachment: pgpsLQgythQmB.pgp
Description: OpenPGP digital signature

Reply via email to