[PATCH 2/2] tools: image-host: add support for several sub-images

Simon Glass sjg at chromium.org
Mon Nov 30 21:12:33 CET 2020


Hi Philippe,

On Tue, 24 Nov 2020 at 06:40, Philippe Reynes
<philippe.reynes at softathome.com> wrote:
>
> The propoerty sign-images points to images in the configuration

spelling

> node. But thoses images may references severals "sub-images" (for

reference several

> example for images loadable). This commit adds the support of
> severals sub-images.

several

>
> Signed-off-by: Philippe Reynes <philippe.reynes at softathome.com>
> ---
>  tools/image-host.c | 36 +++++++++++++++++++++---------------
>  1 file changed, 21 insertions(+), 15 deletions(-)

The code looks OK but is missing docs.

>
> diff --git a/tools/image-host.c b/tools/image-host.c
> index ce829a8ec9..33a224129a 100644
> --- a/tools/image-host.c
> +++ b/tools/image-host.c
> @@ -805,25 +805,31 @@ static int fit_config_get_hash_list(void *fit, int conf_noffset,
>         image_count = 0;
>         for (iname = prop; iname < end; iname += strlen(iname) + 1) {
>                 int image_noffset;
> +               int index, max_index;
>
> -               image_noffset = fit_conf_get_prop_node(fit, conf_noffset,
> -                                                      iname);
> -               if (image_noffset < 0) {
> -                       printf("Failed to find image '%s' in  configuration '%s/%s'\n",
> -                              iname, conf_name, sig_name);
> -                       if (allow_missing)
> -                               continue;
> +               max_index = fdt_stringlist_count(fit, conf_noffset, iname);
>
> -                       return -ENOENT;
> -               }
> +               for (index = 0; index < max_index; index++) {
> +                       image_noffset = fit_conf_get_prop_node_index(fit, conf_noffset,
> +                                                                    iname, index);
>
> -               ret = fit_config_add_hash(fit, conf_name,
> -                                         sig_name, node_inc,
> -                                         iname, image_noffset);
> -               if (ret < 0)
> -                       return ret;
> +                       if (image_noffset < 0) {
> +                               printf("Failed to find image '%s' in  configuration '%s/%s'\n",
> +                                      iname, conf_name, sig_name);
> +                               if (allow_missing)
> +                                       continue;
>
> -               image_count++;
> +                               return -ENOENT;
> +                       }
> +
> +                       ret = fit_config_add_hash(fit, conf_name,
> +                                                 sig_name, node_inc,
> +                                                 iname, image_noffset);
> +                       if (ret < 0)
> +                               return ret;
> +
> +                       image_count++;
> +               }
>         }
>
>         if (!image_count) {
> --
> 2.17.1
>

Regards,
Simon


More information about the U-Boot mailing list