summaryrefslogtreecommitdiffstats
path: root/tools/fdtgrep.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2016-03-14 19:21:44 -0400
committerTom Rini <trini@konsulko.com>2016-03-14 19:21:44 -0400
commit88033d737d9f46e7eebda6a8f9770957eb9aae9c (patch)
tree0b7c3bc6caa5ab4b7f8e88f05ce51ace87f25890 /tools/fdtgrep.c
parent9f0f432c0aea1e70959a0c06938459d3175a36b0 (diff)
parent608e399fdef82e983db44c5cb8f5e772bba870e2 (diff)
downloadblackbird-obmc-uboot-88033d737d9f46e7eebda6a8f9770957eb9aae9c.tar.gz
blackbird-obmc-uboot-88033d737d9f46e7eebda6a8f9770957eb9aae9c.zip
Merge git://git.denx.de/u-boot-dm
Diffstat (limited to 'tools/fdtgrep.c')
-rw-r--r--tools/fdtgrep.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/tools/fdtgrep.c b/tools/fdtgrep.c
index 67aa41a24d..8d3fef4027 100644
--- a/tools/fdtgrep.c
+++ b/tools/fdtgrep.c
@@ -660,6 +660,8 @@ static int fdtgrep_find_regions(const void *fdt,
if (!ret)
count++;
}
+ if (ret && ret != -FDT_ERR_NOTFOUND)
+ return ret;
/* Find all the aliases and add those regions back in */
if (disp->add_aliases && count < max_regions) {
@@ -667,7 +669,11 @@ static int fdtgrep_find_regions(const void *fdt,
new_count = fdt_add_alias_regions(fdt, region, count,
max_regions, &state);
- if (new_count <= max_regions) {
+ if (new_count == -FDT_ERR_NOTFOUND) {
+ /* No alias node found */
+ } else if (new_count < 0) {
+ return new_count;
+ } else if (new_count <= max_regions) {
/*
* The alias regions will now be at the end of the list.
* Sort the regions by offset to get things into the
@@ -679,9 +685,6 @@ static int fdtgrep_find_regions(const void *fdt,
}
}
- if (ret != -FDT_ERR_NOTFOUND)
- return ret;
-
return count;
}
@@ -807,6 +810,9 @@ static int do_fdtgrep(struct display_info *disp, const char *filename)
disp->flags);
if (count < 0) {
report_error("fdt_find_regions", count);
+ if (count == -FDT_ERR_BADLAYOUT)
+ fprintf(stderr,
+ "/aliases node must come before all other nodes\n");
return -1;
}
if (count <= max_regions)
OpenPOWER on IntegriCloud