[PATCH v2] image-fit: don't set compression if it can't be read

Simon Glass sjg at chromium.org
Sat Aug 27 02:21:09 CEST 2022


Hi Daniel,

On Fri, 26 Aug 2022 at 15:28, Daniel Golle <daniel at makrotopia.org> wrote:
>
> fit_image_get_comp() should not set value -1 in case it can't read
> the compression node. Instead, leave the value untouched in that case
> as it can be absent and a default value previously defined by the
> caller of fit_image_get_comp() should be used.
>
> As a result the warning message
> WARNING: 'compression' nodes for ramdisks are deprecated, please fix your .its file!
> no longer shows if the compression node is actually absent.
>
> Signed-off-by: Daniel Golle <daniel at makrotopia.org>
> ---
> v2: fix typo 'imape_comp' vs. 'image_comp'
>  boot/bootm.c     | 6 ++----
>  boot/image-fit.c | 3 +--
>  cmd/ximg.c       | 7 ++-----
>  3 files changed, 5 insertions(+), 11 deletions(-)
>
> diff --git a/boot/bootm.c b/boot/bootm.c
> index 86dbfbcfed..fcdf23f19c 100644
> --- a/boot/bootm.c
> +++ b/boot/bootm.c
> @@ -1024,10 +1024,8 @@ static int bootm_host_load_image(const void *fit, int req_image_type,
>                 return -EINVAL;
>         }
>
> -       if (fit_image_get_comp(fit, noffset, &imape_comp)) {
> -               puts("Can't get image compression!\n");
> -               return -EINVAL;
> -       }
> +       if (fit_image_get_comp(fit, noffset, &imape_comp))
> +               imape_comp = IH_COMP_NONE;
>
>         /* Allow the image to expand by a factor of 4, should be safe */
>         buf_size = (1 << 20) + len * 4;
> diff --git a/boot/image-fit.c b/boot/image-fit.c
> index df3e5df883..21dbd05118 100644
> --- a/boot/image-fit.c
> +++ b/boot/image-fit.c
> @@ -477,7 +477,7 @@ void fit_print_contents(const void *fit)
>  void fit_image_print(const void *fit, int image_noffset, const char *p)
>  {
>         char *desc;
> -       uint8_t type, arch, os, comp;
> +       uint8_t type, arch, os, comp = IH_COMP_NONE;
>         size_t size;
>         ulong load, entry;
>         const void *data;
> @@ -794,7 +794,6 @@ int fit_image_get_comp(const void *fit, int noffset, uint8_t *comp)
>         data = fdt_getprop(fit, noffset, FIT_COMP_PROP, &len);
>         if (data == NULL) {
>                 fit_get_debug(fit, noffset, FIT_COMP_PROP, len);
> -               *comp = -1;
>                 return -1;
>         }
>
> diff --git a/cmd/ximg.c b/cmd/ximg.c
> index 65ba41320a..f84141ff45 100644
> --- a/cmd/ximg.c
> +++ b/cmd/ximg.c
> @@ -171,11 +171,8 @@ do_imgextract(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
>                         return 1;
>                 }
>
> -               if (fit_image_get_comp(fit_hdr, noffset, &comp)) {
> -                       puts("Could not find script subimage "
> -                               "compression type\n");
> -                       return 1;
> -               }
> +               if (fit_image_get_comp(fit_hdr, noffset, &comp))
> +                       comp = IH_COMP_NONE;
>
>                 data = (ulong)fit_data;
>                 len = (ulong)fit_len;
> --
> 2.37.2
>

Well it should be imape_comp, so could you fix that error first (in a
patch before this one)?

Regards,
SImon


More information about the U-Boot mailing list