image: Remove the fit_load_image() property parameter
This can be obtained by looking up the image type, so is redundant. It is better to centralise this lookup to avoid errors. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
b639640371
commit
126cc86420
@ -776,8 +776,7 @@ static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int flag, int argc,
|
||||
#endif
|
||||
#if defined(CONFIG_FIT)
|
||||
case IMAGE_FORMAT_FIT:
|
||||
os_noffset = fit_image_load(images, FIT_KERNEL_PROP,
|
||||
img_addr,
|
||||
os_noffset = fit_image_load(images, img_addr,
|
||||
&fit_uname_kernel, &fit_uname_config,
|
||||
IH_ARCH_DEFAULT, IH_TYPE_KERNEL,
|
||||
BOOTSTAGE_ID_FIT_KERNEL_START,
|
||||
|
@ -355,7 +355,6 @@ int boot_get_fdt(int flag, int argc, char * const argv[], uint8_t arch,
|
||||
ulong load, len;
|
||||
|
||||
fdt_noffset = fit_image_load(images,
|
||||
FIT_FDT_PROP,
|
||||
fdt_addr, &fit_uname_fdt,
|
||||
&fit_uname_config,
|
||||
arch, IH_TYPE_FLATDT,
|
||||
|
@ -1477,7 +1477,32 @@ int fit_get_node_from_config(bootm_headers_t *images, const char *prop_name,
|
||||
return noffset;
|
||||
}
|
||||
|
||||
int fit_image_load(bootm_headers_t *images, const char *prop_name, ulong addr,
|
||||
/**
|
||||
* fit_get_image_type_property() - get property name for IH_TYPE_...
|
||||
*
|
||||
* @return the properly name where we expect to find the image in the
|
||||
* config node
|
||||
*/
|
||||
static const char *fit_get_image_type_property(int type)
|
||||
{
|
||||
/*
|
||||
* This is sort-of available in the uimage_type[] table in image.c
|
||||
* but we don't have access to the sohrt name, and "fdt" is different
|
||||
* anyway. So let's just keep it here.
|
||||
*/
|
||||
switch (type) {
|
||||
case IH_TYPE_FLATDT:
|
||||
return FIT_FDT_PROP;
|
||||
case IH_TYPE_KERNEL:
|
||||
return FIT_KERNEL_PROP;
|
||||
case IH_TYPE_RAMDISK:
|
||||
return FIT_RAMDISK_PROP;
|
||||
}
|
||||
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
int fit_image_load(bootm_headers_t *images, ulong addr,
|
||||
const char **fit_unamep, const char **fit_uname_configp,
|
||||
int arch, int image_type, int bootstage_id,
|
||||
enum fit_load_op load_op, ulong *datap, ulong *lenp)
|
||||
@ -1490,11 +1515,13 @@ int fit_image_load(bootm_headers_t *images, const char *prop_name, ulong addr,
|
||||
size_t size;
|
||||
int type_ok, os_ok;
|
||||
ulong load, data, len;
|
||||
const char *prop_name;
|
||||
int ret;
|
||||
|
||||
fit = map_sysmem(addr, 0);
|
||||
fit_uname = fit_unamep ? *fit_unamep : NULL;
|
||||
fit_uname_config = fit_uname_configp ? *fit_uname_configp : NULL;
|
||||
prop_name = fit_get_image_type_property(image_type);
|
||||
printf("## Loading %s from FIT Image at %08lx ...\n", prop_name, addr);
|
||||
|
||||
bootstage_mark(bootstage_id + BOOTSTAGE_SUB_FORMAT);
|
||||
|
@ -903,7 +903,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
|
||||
#endif
|
||||
#if defined(CONFIG_FIT)
|
||||
case IMAGE_FORMAT_FIT:
|
||||
rd_noffset = fit_image_load(images, FIT_RAMDISK_PROP,
|
||||
rd_noffset = fit_image_load(images,
|
||||
rd_addr, &fit_uname_ramdisk,
|
||||
&fit_uname_config, arch,
|
||||
IH_TYPE_RAMDISK,
|
||||
|
@ -434,8 +434,9 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
|
||||
* out progress messages, checking the type/arch/os and optionally copying it
|
||||
* to the right load address.
|
||||
*
|
||||
* The property to look up is defined by image_type.
|
||||
*
|
||||
* @param images Boot images structure
|
||||
* @param prop_name Property name to look up (FIT_..._PROP)
|
||||
* @param addr Address of FIT in memory
|
||||
* @param fit_unamep On entry this is the requested image name
|
||||
* (e.g. "kernel@1") or NULL to use the default. On exit
|
||||
@ -454,7 +455,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
|
||||
* @param datap Returns address of loaded image
|
||||
* @param lenp Returns length of loaded image
|
||||
*/
|
||||
int fit_image_load(bootm_headers_t *images, const char *prop_name, ulong addr,
|
||||
int fit_image_load(bootm_headers_t *images, ulong addr,
|
||||
const char **fit_unamep, const char **fit_uname_configp,
|
||||
int arch, int image_type, int bootstage_id,
|
||||
enum fit_load_op load_op, ulong *datap, ulong *lenp);
|
||||
|
Loading…
Reference in New Issue
Block a user