diff options
author | Andre Przywara <osp@andrep.de> | 2015-06-21 00:29:54 +0100 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-07-20 07:21:47 -0600 |
commit | 5c1cf89f8c342c8533f730409f7dd2b21806c3d3 (patch) | |
tree | 4d64366bf88e48696396ee1bf896564e2140d7a0 /common/fdt_support.c | |
parent | 605e15db2b54302364a2528d3c6604fbc57be846 (diff) | |
download | u-boot-5c1cf89f8c342c8533f730409f7dd2b21806c3d3.tar.gz |
fdt: prevent clearing memory node if there are no banks
Avoid clearing the reg property in the memory DT node if no memory
banks have been specified for a board (CONFIG_NR_DRAM_BANKS == 0).
This allows boards to let U-Boot skip the DT memory tinkering in case
other firmware has already setup the node properly before.
This should be safe as all callers of fdt_fixup_memory_banks that use
a computed <banks> value put at least 1 in there.
Add some documentation comments to the header file.
Signed-off-by: Andre Przywara <osp@andrep.de>
Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common/fdt_support.c')
-rw-r--r-- | common/fdt_support.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/common/fdt_support.c b/common/fdt_support.c index 10648b5a4a..f86365e8f0 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -454,6 +454,9 @@ int fdt_fixup_memory_banks(void *blob, u64 start[], u64 size[], int banks) return err; } + if (!banks) + return 0; + len = fdt_pack_reg(blob, tmp, start, size, banks); err = fdt_setprop(blob, nodeoffset, "reg", tmp, len); |