diff options
author | Chen Guanqiao <chenguanqiao@kuaishou.com> | 2021-04-12 14:51:11 +0800 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2021-04-29 03:23:39 -0700 |
commit | aa351a14bd0a78221014719d190b565be60cb4ce (patch) | |
tree | bb9c83d868e56ef811ef06229978ba2ac3b81628 /drivers | |
parent | f1a83abe60b4ef8b2652e4c8e1d11a9afc909b71 (diff) | |
download | u-boot-aa351a14bd0a78221014719d190b565be60cb4ce.tar.gz |
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')
-rw-r--r-- | drivers/core/ofnode.c | 11 |
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) { |