[PATCH 10/21] dm: core: Reimplement ofnode_read_size()

Simon Glass sjg at chromium.org
Mon Jan 27 16:49:45 CET 2020


Now that we have ofnode_read_prop() we can rewrite this function using
that one, reducing the amount of duplicated code.

Update ofnode_read_size() and move it up next to the other similar
functions.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 drivers/core/ofnode.c | 29 ++++++++++-------------------
 1 file changed, 10 insertions(+), 19 deletions(-)

diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
index eebc5a7dce..4fc29a7c43 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -151,6 +151,16 @@ const char *ofnode_read_string(ofnode node, const char *propname)
 	return str;
 }
 
+int ofnode_read_size(ofnode node, const char *propname)
+{
+	int len;
+
+	if (!ofnode_read_prop(node, propname, &len))
+		return -EINVAL;
+
+	return len;
+}
+
 ofnode ofnode_find_subnode(ofnode node, const char *subnode_name)
 {
 	ofnode subnode;
@@ -253,25 +263,6 @@ ofnode ofnode_get_by_phandle(uint phandle)
 	return node;
 }
 
-int ofnode_read_size(ofnode node, const char *propname)
-{
-	int len;
-
-	if (ofnode_is_np(node)) {
-		struct property *prop = of_find_property(
-				ofnode_to_np(node), propname, NULL);
-
-		if (prop)
-			return prop->length;
-	} else {
-		if (fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), propname,
-				&len))
-			return len;
-	}
-
-	return -EINVAL;
-}
-
 fdt_addr_t ofnode_get_addr_size_index(ofnode node, int index, fdt_size_t *size)
 {
 	int na, ns;
-- 
2.25.0.341.g760bfbb309-goog



More information about the U-Boot mailing list