mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 06:31:31 +00:00
spl: fit: move fdt_record_loadable out of ARCH_FIXUP_FDT_MEMORY guard
The fdt_record_loadable()-function was wedged between other functions
that were guarded by ARCH_FIXUP_FDT_MEMORY. This could lead to linker
errors on some configurations.
With this change, fdt_record_loadable() is moved out of the
ARCH_FIXUP_FDT_MEMORY guard (plus I tried to retain alphabetical
ordering for functions by placing it appropriately).
References: 9f45aeb
("spl: fit: implement fdt_record_loadable")
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reported-by: Michal Simek <michal.simek@xilinx.com>
Tested-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
6e5308c4b8
commit
a5af51a703
1 changed files with 39 additions and 39 deletions
|
@ -410,45 +410,6 @@ static int fdt_pack_reg(const void *fdt, void *buf, u64 *address, u64 *size,
|
|||
return p - (char *)buf;
|
||||
}
|
||||
|
||||
int fdt_record_loadable(void *blob, u32 index, const char *name,
|
||||
uintptr_t load_addr, u32 size, uintptr_t entry_point,
|
||||
const char *type, const char *os)
|
||||
{
|
||||
int err, node;
|
||||
|
||||
err = fdt_check_header(blob);
|
||||
if (err < 0) {
|
||||
printf("%s: %s\n", __func__, fdt_strerror(err));
|
||||
return err;
|
||||
}
|
||||
|
||||
/* find or create "/fit-images" node */
|
||||
node = fdt_find_or_add_subnode(blob, 0, "fit-images");
|
||||
if (node < 0)
|
||||
return node;
|
||||
|
||||
/* find or create "/fit-images/<name>" node */
|
||||
node = fdt_find_or_add_subnode(blob, node, name);
|
||||
if (node < 0)
|
||||
return node;
|
||||
|
||||
/*
|
||||
* We record these as 32bit entities, possibly truncating addresses.
|
||||
* However, spl_fit.c is not 64bit safe either: i.e. we should not
|
||||
* have an issue here.
|
||||
*/
|
||||
fdt_setprop_u32(blob, node, "load-addr", load_addr);
|
||||
if (entry_point != -1)
|
||||
fdt_setprop_u32(blob, node, "entry-point", entry_point);
|
||||
fdt_setprop_u32(blob, node, "size", size);
|
||||
if (type)
|
||||
fdt_setprop_string(blob, node, "type", type);
|
||||
if (os)
|
||||
fdt_setprop_string(blob, node, "os", os);
|
||||
|
||||
return node;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NR_DRAM_BANKS
|
||||
#define MEMORY_BANKS_MAX CONFIG_NR_DRAM_BANKS
|
||||
#else
|
||||
|
@ -584,6 +545,45 @@ void fdt_fixup_ethernet(void *fdt)
|
|||
}
|
||||
}
|
||||
|
||||
int fdt_record_loadable(void *blob, u32 index, const char *name,
|
||||
uintptr_t load_addr, u32 size, uintptr_t entry_point,
|
||||
const char *type, const char *os)
|
||||
{
|
||||
int err, node;
|
||||
|
||||
err = fdt_check_header(blob);
|
||||
if (err < 0) {
|
||||
printf("%s: %s\n", __func__, fdt_strerror(err));
|
||||
return err;
|
||||
}
|
||||
|
||||
/* find or create "/fit-images" node */
|
||||
node = fdt_find_or_add_subnode(blob, 0, "fit-images");
|
||||
if (node < 0)
|
||||
return node;
|
||||
|
||||
/* find or create "/fit-images/<name>" node */
|
||||
node = fdt_find_or_add_subnode(blob, node, name);
|
||||
if (node < 0)
|
||||
return node;
|
||||
|
||||
/*
|
||||
* We record these as 32bit entities, possibly truncating addresses.
|
||||
* However, spl_fit.c is not 64bit safe either: i.e. we should not
|
||||
* have an issue here.
|
||||
*/
|
||||
fdt_setprop_u32(blob, node, "load-addr", load_addr);
|
||||
if (entry_point != -1)
|
||||
fdt_setprop_u32(blob, node, "entry-point", entry_point);
|
||||
fdt_setprop_u32(blob, node, "size", size);
|
||||
if (type)
|
||||
fdt_setprop_string(blob, node, "type", type);
|
||||
if (os)
|
||||
fdt_setprop_string(blob, node, "os", os);
|
||||
|
||||
return node;
|
||||
}
|
||||
|
||||
/* Resize the fdt to its actual size + a bit of padding */
|
||||
int fdt_shrink_to_minimum(void *blob, uint extrasize)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue