mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-11 15:34:55 +00:00
boot: Use fit_image_get_data() to get data
Use this function instead of fit_image_get_emb_data() data, since it works will FITs that use external data. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
c83e71064e
commit
1604b4254b
5 changed files with 11 additions and 22 deletions
|
@ -128,8 +128,8 @@ static int sec_firmware_check_copy_loadable(const void *sec_firmware_img,
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (fit_image_get_emb_data(sec_firmware_img, ld_node_off,
|
||||
&data, &size)) {
|
||||
if (fit_image_get_data(sec_firmware_img, ld_node_off,
|
||||
&data, &size)) {
|
||||
printf("SEC Loadable: Can't get subimage data/size");
|
||||
return -ENOENT;
|
||||
}
|
||||
|
|
|
@ -115,7 +115,7 @@ static int fit_get_data_by_name(const void *fit, int images, const char *name,
|
|||
if (node_offset < 0)
|
||||
return -ENOENT;
|
||||
|
||||
return fit_image_get_emb_data(fit, node_offset, addr, size);
|
||||
return fit_image_get_data(fit, node_offset, addr, size);
|
||||
}
|
||||
|
||||
static void k3_start_system_controller(int rproc_id, bool rproc_loaded,
|
||||
|
|
|
@ -104,9 +104,9 @@ static int boot_prep_linux(struct bootm_headers *images)
|
|||
is_zimage = 1;
|
||||
#if defined(CONFIG_FIT)
|
||||
} else if (images->fit_uname_os && is_zimage) {
|
||||
ret = fit_image_get_emb_data(images->fit_hdr_os,
|
||||
images->fit_noffset_os,
|
||||
(const void **)&data, &len);
|
||||
ret = fit_image_get_data(images->fit_hdr_os,
|
||||
images->fit_noffset_os,
|
||||
(const void **)&data, &len);
|
||||
if (ret) {
|
||||
puts("Can't get image data/size!\n");
|
||||
goto error;
|
||||
|
|
|
@ -395,21 +395,10 @@ static int splash_load_fit(struct splash_location *location, u32 bmp_load_addr)
|
|||
}
|
||||
|
||||
/* Extract the splash data from FIT */
|
||||
/* 1. Test if splash is in FIT internal data. */
|
||||
if (!fit_image_get_emb_data(fit_header, node_offset,
|
||||
&internal_splash_data,
|
||||
&internal_splash_size))
|
||||
memmove((void *)(uintptr_t)bmp_load_addr, internal_splash_data, internal_splash_size);
|
||||
/* 2. Test if splash is in FIT external data with fixed position. */
|
||||
else if (!fit_image_get_data_position(fit_header, node_offset, &external_splash_addr))
|
||||
is_splash_external = true;
|
||||
/* 3. Test if splash is in FIT external data with offset. */
|
||||
else if (!fit_image_get_data_offset(fit_header, node_offset, &external_splash_addr)) {
|
||||
/* Align data offset to 4-byte boundary */
|
||||
fit_size = ALIGN(fdt_totalsize(fit_header), 4);
|
||||
/* External splash offset means the offset by end of FIT header */
|
||||
external_splash_addr += location->offset + fit_size;
|
||||
is_splash_external = true;
|
||||
if (!fit_image_get_data(fit_header, node_offset, &internal_splash_data,
|
||||
&internal_splash_size)) {
|
||||
memmove((void *)(uintptr_t)bmp_load_addr, internal_splash_data,
|
||||
internal_splash_size);
|
||||
} else {
|
||||
printf("Failed to get splash image from FIT\n");
|
||||
return -ENODATA;
|
||||
|
|
|
@ -200,7 +200,7 @@ static int update_fit_getparams(const void *fit, int noffset, ulong *addr,
|
|||
{
|
||||
const void *data;
|
||||
|
||||
if (fit_image_get_emb_data(fit, noffset, &data, (size_t *)size))
|
||||
if (fit_image_get_data(fit, noffset, &data, (size_t *)size))
|
||||
return 1;
|
||||
|
||||
if (fit_image_get_load(fit, noffset, (ulong *)fladdr))
|
||||
|
|
Loading…
Add table
Reference in a new issue