summaryrefslogtreecommitdiff
path: root/drivers/core
diff options
context:
space:
mode:
authorChen Guanqiao <chenguanqiao@kuaishou.com>2021-04-12 09:51:11 +0300
committerSimon Glass <sjg@chromium.org>2021-04-29 13:23:39 +0300
commitaa351a14bd0a78221014719d190b565be60cb4ce (patch)
treebb9c83d868e56ef811ef06229978ba2ac3b81628 /drivers/core
parentf1a83abe60b4ef8b2652e4c8e1d11a9afc909b71 (diff)
downloadu-boot-aa351a14bd0a78221014719d190b565be60cb4ce.tar.xz
dm: core: Add size operations on device tree references
Add functions to add size of addresses in the device tree using ofnode references. If the size is not set, return FDT_SIZE_T_NONE. Signed-off-by: Chen Guanqiao <chenguanqiao@kuaishou.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/core')
-rw-r--r--drivers/core/ofnode.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
index fa0bd2a9c4..d50533338e 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -303,6 +303,8 @@ fdt_addr_t ofnode_get_addr_size_index(ofnode node, int index, fdt_size_t *size)
{
int na, ns;
+ *size = FDT_SIZE_T_NONE;
+
if (ofnode_is_np(node)) {
const __be32 *prop_val;
u64 size64;
@@ -347,6 +349,15 @@ fdt_addr_t ofnode_get_addr(ofnode node)
return ofnode_get_addr_index(node, 0);
}
+fdt_size_t ofnode_get_size(ofnode node)
+{
+ fdt_size_t size;
+
+ ofnode_get_addr_size_index(node, 0, &size);
+
+ return size;
+}
+
int ofnode_stringlist_search(ofnode node, const char *property,
const char *string)
{