[RFC PATCH 02/10] stm32mp: dfu: Move the ram partitions to the end of the dfu_alt_info variable
Sughosh Ganu
sughosh.ganu at linaro.org
Thu Dec 9 10:04:04 CET 2021
hi Etienne,
On Wed, 8 Dec 2021 at 18:44, Etienne Carriere <etienne.carriere at linaro.org>
wrote:
> On Thu, 25 Nov 2021 at 08:03, Sughosh Ganu <sughosh.ganu at linaro.org>
> wrote:
> >
> > With the FWU multi bank update feature enabled, the dfu alt no that is
> > used to identify the partition to be updated is derived at runtime and
> > should match the partition number on the storage media. Achieve this
> > by moving the ram partitions to the end of the dfu_alt_info variable.
> >
> > Signed-off-by: Sughosh Ganu <sughosh.ganu at linaro.org>
> > ---
> > board/st/common/stm32mp_dfu.c | 11 ++++++++---
> > 1 file changed, 8 insertions(+), 3 deletions(-)
> >
> > diff --git a/board/st/common/stm32mp_dfu.c
> b/board/st/common/stm32mp_dfu.c
> > index 00d1fb8f59..394a2704ee 100644
> > --- a/board/st/common/stm32mp_dfu.c
> > +++ b/board/st/common/stm32mp_dfu.c
> > @@ -102,6 +102,7 @@ static void board_get_alt_info_mtd(struct mtd_info
> *mtd, char *buf)
> >
> > void set_dfu_alt_info(char *interface, char *devstr)
> > {
> > + int len;
> > struct udevice *dev;
> > struct mtd_info *mtd;
> >
> > @@ -112,9 +113,6 @@ void set_dfu_alt_info(char *interface, char *devstr)
> >
> > memset(buf, 0, sizeof(buf));
> >
> > - snprintf(buf, DFU_ALT_BUF_LEN,
> > - "ram 0=%s", CONFIG_DFU_ALT_RAM0);
> > -
> > if (CONFIG_IS_ENABLED(MMC)) {
> > if (!uclass_get_device(UCLASS_MMC, 0, &dev))
> > board_get_alt_info_mmc(dev, buf);
> > @@ -151,6 +149,13 @@ void set_dfu_alt_info(char *interface, char *devstr)
> > strncat(buf, "&virt 1=PMIC", DFU_ALT_BUF_LEN);
> > }
> >
> > + len = strlen(buf);
> > + if (buf[0] != '\0')
> > + len += snprintf(buf + len, DFU_ALT_BUF_LEN - len, "&");
> > +
> > + snprintf(buf + len, DFU_ALT_BUF_LEN,
> > + "ram 0=%s", CONFIG_DFU_ALT_RAM0);
>
> s/DFU_ALT_BUF_LEN/DFU_ALT_BUF_LEN - len/
>
> Should check snprintf() return value.
>
This patch would not be needed, if what Patrick suggested[1] works.
-sughosh
[1] - https://lists.denx.de/pipermail/u-boot/2021-December/469256.html
> > +
> > env_set("dfu_alt_info", buf);
> > puts("DFU alt info setting: done\n");
> > }
> > --
> > 2.17.1
> >
>
More information about the U-Boot
mailing list