Tom, Do you plan to apply this or should I include it into my next pull-request?
Thanks, Philipp. > On 2 Feb 2018, at 16:00, Michal Simek <michal.si...@xilinx.com> wrote: > > On 2.2.2018 12:01, Philipp Tomsich wrote: >> 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.toms...@theobroma-systems.com> >> --- >> >> common/fdt_support.c | 78 >> ++++++++++++++++++++++++++-------------------------- >> 1 file changed, 39 insertions(+), 39 deletions(-) >> >> diff --git a/common/fdt_support.c b/common/fdt_support.c >> index 724452d..17623a1 100644 >> --- a/common/fdt_support.c >> +++ b/common/fdt_support.c >> @@ -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) >> { >> > > Reported-by: Michal Simek <michal.si...@xilinx.com> > Tested-by: Michal Simek <michal.si...@xilinx.com> > > Thanks, > Michal _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot