aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/efi_loader/efi_dt_fixup.c2
-rw-r--r--lib/fdtdec.c7
-rw-r--r--lib/of_live.c7
3 files changed, 12 insertions, 4 deletions
diff --git a/lib/efi_loader/efi_dt_fixup.c b/lib/efi_loader/efi_dt_fixup.c
index d3923e5dba..838023c78f 100644
--- a/lib/efi_loader/efi_dt_fixup.c
+++ b/lib/efi_loader/efi_dt_fixup.c
@@ -145,7 +145,7 @@ efi_dt_fixup(struct efi_dt_fixup_protocol *this, void *dtb,
efi_status_t ret;
size_t required_size;
size_t total_size;
- bootm_headers_t img = { 0 };
+ struct bootm_headers img = { 0 };
EFI_ENTRY("%p, %p, %p, %d", this, dtb, buffer_size, flags);
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 96b6b71a60..64c5b3da15 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -13,7 +13,6 @@
#include <log.h>
#include <malloc.h>
#include <net.h>
-#include <dm/of_extra.h>
#include <env.h>
#include <errno.h>
#include <fdtdec.h>
@@ -24,6 +23,8 @@
#include <serial.h>
#include <asm/global_data.h>
#include <asm/sections.h>
+#include <dm/ofnode.h>
+#include <dm/of_extra.h>
#include <linux/ctype.h>
#include <linux/lzo.h>
#include <linux/ioport.h>
@@ -1058,7 +1059,7 @@ ofnode get_next_memory_node(ofnode mem)
{
do {
mem = ofnode_by_prop_value(mem, "device_type", "memory", 7);
- } while (!ofnode_is_available(mem));
+ } while (!ofnode_is_enabled(mem));
return mem;
}
@@ -1668,6 +1669,8 @@ int fdtdec_setup(void)
ret = fdtdec_prepare_fdt();
if (!ret)
ret = fdtdec_board_setup(gd->fdt_blob);
+ oftree_reset();
+
return ret;
}
diff --git a/lib/of_live.c b/lib/of_live.c
index 30cae9ab88..1b5964d09a 100644
--- a/lib/of_live.c
+++ b/lib/of_live.c
@@ -97,6 +97,10 @@ static void *unflatten_dt_node(const void *blob, void *mem, int *poffset,
char *fn;
fn = (char *)np + sizeof(*np);
+ if (new_format) {
+ np->name = pathp;
+ has_name = 1;
+ }
np->full_name = fn;
if (new_format) {
/* rebuild full path for new format */
@@ -202,7 +206,8 @@ static void *unflatten_dt_node(const void *blob, void *mem, int *poffset,
}
if (!dryrun) {
*prev_pp = NULL;
- np->name = of_get_property(np, "name", NULL);
+ if (!has_name)
+ np->name = of_get_property(np, "name", NULL);
np->type = of_get_property(np, "device_type", NULL);
if (!np->name)