Merge branch 'master' of git://git.denx.de/u-boot-fdt

This commit is contained in:
Wolfgang Denk 2008-11-01 16:05:51 +01:00
commit 17380cb04d
2 changed files with 12 additions and 6 deletions

View file

@ -602,9 +602,12 @@ int fdt_resize(void *blob)
} }
} }
/* Calculate the actual size of the fdt */ /*
* Calculate the actual size of the fdt
* plus the size needed for fdt_add_mem_rsv
*/
actualsize = fdt_off_dt_strings(blob) + actualsize = fdt_off_dt_strings(blob) +
fdt_size_dt_strings(blob); fdt_size_dt_strings(blob) + sizeof(struct fdt_reserve_entry);
/* Make it so the fdt ends on a page boundary */ /* Make it so the fdt ends on a page boundary */
actualsize = ALIGN(actualsize, 0x1000); actualsize = ALIGN(actualsize, 0x1000);

View file

@ -112,12 +112,12 @@ int fdt_num_mem_rsv(const void *fdt)
int fdt_subnode_offset_namelen(const void *fdt, int offset, int fdt_subnode_offset_namelen(const void *fdt, int offset,
const char *name, int namelen) const char *name, int namelen)
{ {
int depth; int depth = 0;
FDT_CHECK_HEADER(fdt); FDT_CHECK_HEADER(fdt);
for (depth = 0; for (depth = 0, offset = fdt_next_node(fdt, offset, &depth);
offset >= 0; (offset >= 0) && (depth > 0);
offset = fdt_next_node(fdt, offset, &depth)) { offset = fdt_next_node(fdt, offset, &depth)) {
if (depth < 0) if (depth < 0)
return -FDT_ERR_NOTFOUND; return -FDT_ERR_NOTFOUND;
@ -126,7 +126,10 @@ int fdt_subnode_offset_namelen(const void *fdt, int offset,
return offset; return offset;
} }
if (offset < 0)
return offset; /* error */ return offset; /* error */
else
return -FDT_ERR_NOTFOUND;
} }
int fdt_subnode_offset(const void *fdt, int parentoffset, int fdt_subnode_offset(const void *fdt, int parentoffset,