diff options
author | Tom Rini <trini@konsulko.com> | 2016-03-14 19:21:44 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-03-14 19:21:44 -0400 |
commit | 88033d737d9f46e7eebda6a8f9770957eb9aae9c (patch) | |
tree | 0b7c3bc6caa5ab4b7f8e88f05ce51ace87f25890 /tools/fdtgrep.c | |
parent | 9f0f432c0aea1e70959a0c06938459d3175a36b0 (diff) | |
parent | 608e399fdef82e983db44c5cb8f5e772bba870e2 (diff) | |
download | blackbird-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.c | 14 |
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) |