aboutsummaryrefslogtreecommitdiff
path: root/lib/fdtdec.c
diff options
context:
space:
mode:
authorStefano Babic <sbabic@denx.de>2015-10-15 15:34:14 +0200
committerStefano Babic <sbabic@denx.de>2015-10-15 15:34:14 +0200
commitf74dc51bcab924a30e41b33981a4f96af3f9dd57 (patch)
tree560eead1ca9984554be3a5c9a5332b531c102cb0 /lib/fdtdec.c
parentcf04ad3219260c3c39ec3dbfe2427e3463e8dbd5 (diff)
parent297faccca2235e359012118495b9b73451d54bb9 (diff)
Merge branch 'master' of git://git.denx.de/u-boot
Diffstat (limited to 'lib/fdtdec.c')
-rw-r--r--lib/fdtdec.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 9f0b65de38..1a86369934 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -149,7 +149,7 @@ fdt_addr_t fdtdec_get_addr_size_auto_parent(const void *blob, int parent,
}
ns = fdt_size_cells(blob, parent);
- if (ns < 1) {
+ if (ns < 0) {
debug("(bad #size-cells)\n");
return FDT_ADDR_T_NONE;
}
@@ -180,10 +180,11 @@ fdt_addr_t fdtdec_get_addr_size_auto_noparent(const void *blob, int node,
fdt_addr_t fdtdec_get_addr_size(const void *blob, int node,
const char *prop_name, fdt_size_t *sizep)
{
+ int ns = sizep ? (sizeof(fdt_size_t) / sizeof(fdt32_t)) : 0;
+
return fdtdec_get_addr_size_fixed(blob, node, prop_name, 0,
sizeof(fdt_addr_t) / sizeof(fdt32_t),
- sizeof(fdt_size_t) / sizeof(fdt32_t),
- sizep);
+ ns, sizep);
}
fdt_addr_t fdtdec_get_addr(const void *blob, int node,