image-fit: don't set compression if it can't be read

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@makrotopia.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Daniel Golle 2022-08-27 04:17:28 +01:00 committed by Tom Rini
parent 0cd57f29e4
commit 88de6c5127
3 changed files with 5 additions and 11 deletions

View file

@ -1024,10 +1024,8 @@ static int bootm_host_load_image(const void *fit, int req_image_type,
return -EINVAL; return -EINVAL;
} }
if (fit_image_get_comp(fit, noffset, &image_comp)) { if (fit_image_get_comp(fit, noffset, &image_comp))
puts("Can't get image compression!\n"); image_comp = IH_COMP_NONE;
return -EINVAL;
}
/* Allow the image to expand by a factor of 4, should be safe */ /* Allow the image to expand by a factor of 4, should be safe */
buf_size = (1 << 20) + len * 4; buf_size = (1 << 20) + len * 4;

View file

@ -477,7 +477,7 @@ void fit_print_contents(const void *fit)
void fit_image_print(const void *fit, int image_noffset, const char *p) void fit_image_print(const void *fit, int image_noffset, const char *p)
{ {
char *desc; char *desc;
uint8_t type, arch, os, comp; uint8_t type, arch, os, comp = IH_COMP_NONE;
size_t size; size_t size;
ulong load, entry; ulong load, entry;
const void *data; 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); data = fdt_getprop(fit, noffset, FIT_COMP_PROP, &len);
if (data == NULL) { if (data == NULL) {
fit_get_debug(fit, noffset, FIT_COMP_PROP, len); fit_get_debug(fit, noffset, FIT_COMP_PROP, len);
*comp = -1;
return -1; return -1;
} }

View file

@ -171,11 +171,8 @@ do_imgextract(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
return 1; return 1;
} }
if (fit_image_get_comp(fit_hdr, noffset, &comp)) { if (fit_image_get_comp(fit_hdr, noffset, &comp))
puts("Could not find script subimage " comp = IH_COMP_NONE;
"compression type\n");
return 1;
}
data = (ulong)fit_data; data = (ulong)fit_data;
len = (ulong)fit_len; len = (ulong)fit_len;