Use this new helper function to simplify add_upl_memmap() Signed-off-by: Simon Glass <s...@chromium.org> ---
boot/upl_write.c | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/boot/upl_write.c b/boot/upl_write.c index 6e9f67f686f..3f38d533c4a 100644 --- a/boot/upl_write.c +++ b/boot/upl_write.c @@ -382,31 +382,17 @@ static int add_upl_memmap(const struct upl *upl, ofnode root) for (i = 0; i < upl->memmap.count; i++) { const struct upl_memmap *memmap = alist_get(&upl->memmap, i, struct upl_memmap); - char buf[memmap->region.count * sizeof(64) * 2]; - const struct memregion *first; - char name[26]; - int ret, len; ofnode node; - if (!memmap->region.count) { - log_debug("Memory %d has no regions\n", i); - return log_msg_ret("reg", -EINVAL); - } - first = alist_get(&memmap->region, 0, struct memregion); - sprintf(name, "%s@0x%lx", memmap->name, first->base); - ret = ofnode_add_subnode(mem_node, name, &node); + ret = write_mem_node(upl, mem_node, &memmap->region, + memmap->name, &node); if (ret) - return log_msg_ret("memmap", ret); - - len = buffer_addr_size(upl, buf, sizeof(buf), - memmap->region.count, &memmap->region); - if (len < 0) - return log_msg_ret("buf", len); - ret = ofnode_write_prop(node, UPLP_REG, buf, len, true); - if (!ret && memmap->usage) + return log_msg_ret("umm", ret); + if (memmap->usage) { ret = ofnode_write_bitmask(node, UPLP_USAGE, usage_names, UPLUS_COUNT, memmap->usage); + } if (ret) return log_msg_ret("lst", ret); } -- 2.43.0