tools: fit_image: Use fit_image_get_data_and_size for getting offset/size

This is very similar to fit_image_get_data but has the benefit of working
on FIT images with external data unlike fit_image_get_data. This is
useful for extracting sub-images from type of FIT image as this would
previously just silently fail. Add an error message also so if this
still fails it is easier to find out why.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
This commit is contained in:
Andrew F. Davis 2019-09-17 17:09:34 -04:00 committed by Tom Rini
parent 79e984c470
commit e5b5628e8a

View File

@ -741,9 +741,14 @@ static int fit_image_extract(
{ {
const void *file_data; const void *file_data;
size_t file_size = 0; size_t file_size = 0;
int ret;
/* get the "data" property of component at offset "image_noffset" */ /* get the data address and size of component at offset "image_noffset" */
fit_image_get_data(fit, image_noffset, &file_data, &file_size); ret = fit_image_get_data_and_size(fit, image_noffset, &file_data, &file_size);
if (ret) {
fprintf(stderr, "Could not get component information\n");
return ret;
}
/* save the "file_data" into the file specified by "file_name" */ /* save the "file_data" into the file specified by "file_name" */
return imagetool_save_subimage(file_name, (ulong) file_data, file_size); return imagetool_save_subimage(file_name, (ulong) file_data, file_size);