[PATCH v3] Fix flashing of eMMC user area with Fastboot

Oleh Kravchenko oleg at kaa.org.ua
Sat May 15 00:10:00 CEST 2021


Hello Sean,
Could you please clarify what you have mean?

I think you pointing to this?
> fastboot_raw_partition_<raw partition name>=<offset> <size> [mmcpart <num>]

Because I don't have idea how aliases will help to flash.

15.05.21 00:45, Sean Anderson пише:
> On 5/14/21 5:26 PM, Oleh Kravchenko wrote:
>> Hello guys,
>> Could you please review and merge this patch?
> 
> Did you have any luck with the second suggestion [1] I made for your
> original patch?
> 
> [1] https://lists.denx.de/pipermail/u-boot/2021-May/449778.html
> 
> --Sean
> 
>>
>> PR successfully passed CI:
>> https://github.com/u-boot/u-boot/pull/75
>>
>> 15.05.21 00:15, Oleh Kravchenko пише:
>>> 'gpt' and 'mmc0' fastboot partitions have been treated as the same device,
>>> but it is wrong.
>>>
>>> Signed-off-by: Oleh Kravchenko <oleg at kaa.org.ua>
>>> Cc: Pantelis Antoniou <panto at antoniou-consulting.com>
>>> Cc: Marek Vasut <marex at denx.de>
>>> ---
>>> Changes for v2:
>>>     - code cleanup;
>>> Changes for v3:
>>>     - QA passed at https://github.com/u-boot/u-boot/pull/75;
>>>
>>>   drivers/fastboot/fb_mmc.c | 25 ++++++++++++++++++++-----
>>>   1 file changed, 20 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/drivers/fastboot/fb_mmc.c b/drivers/fastboot/fb_mmc.c
>>> index 2f3837e559..647d3f6c1b 100644
>>> --- a/drivers/fastboot/fb_mmc.c
>>> +++ b/drivers/fastboot/fb_mmc.c
>>> @@ -532,12 +532,7 @@ void fastboot_mmc_flash_write(const char *cmd, void *download_buffer,
>>>   #endif
>>>
>>>   #if CONFIG_IS_ENABLED(EFI_PARTITION)
>>> -#ifndef CONFIG_FASTBOOT_MMC_USER_SUPPORT
>>>       if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) {
>>> -#else
>>> -    if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0 ||
>>> -        strcmp(cmd, CONFIG_FASTBOOT_MMC_USER_NAME) == 0) {
>>> -#endif
>>>           dev_desc = fastboot_mmc_get_dev(response);
>>>           if (!dev_desc)
>>>               return;
>>> @@ -599,9 +594,29 @@ void fastboot_mmc_flash_write(const char *cmd, void *download_buffer,
>>>       }
>>>   #endif
>>>
>>> +#if CONFIG_IS_ENABLED(FASTBOOT_MMC_USER_SUPPORT)
> 
> Is it possible to use
> 
> if (CONFIG_IS_ENABLED(...)) { ... }
> 
> here?
> 
>>> +    if (strcmp(cmd, CONFIG_FASTBOOT_MMC_USER_NAME) == 0) {
>>> +        dev_desc = fastboot_mmc_get_dev(response);
>>> +        if (!dev_desc)
>>> +            return;
>>> +
>>> +        memset(&info, 0, sizeof(info));
>>> +        info.start    = 0;
>>> +        info.size    = dev_desc->lba;
>>> +        info.blksz    = dev_desc->blksz;
>>> +        strlcpy((char *)&info.name, cmd, sizeof(info.name));
>>> +
>>> +        goto write_image;
> 
> Why do we need to skip get_part_info?
> 
>>> +    }
>>> +#endif
>>> +
>>>       if (fastboot_mmc_get_part_info(cmd, &dev_desc, &info, response) < 0)
>>>           return;
>>>
>>> +#if CONFIG_IS_ENABLED(FASTBOOT_MMC_USER_SUPPORT)
> 
> Is conditionally defining this label necessary?
> 
> --Sean
> 
>>> +write_image:
>>> +#endif
>>> +
>>>       if (is_sparse_image(download_buffer)) {
>>>           struct fb_mmc_sparse sparse_priv;
>>>           struct sparse_storage sparse;
>>>
>>

-- 
Best regards,
Oleh Kravchenko



More information about the U-Boot mailing list