[PATCH v4 7/8] libfdt: Make fdtdec_get_child_count() available for HOST

Kever Yang kever.yang at rock-chips.com
Mon Mar 30 05:56:23 CEST 2020


The tool need to use fdtdec_get_child_count(), make it available for
HOST_CC.

Signed-off-by: Kever Yang <kever.yang at rock-chips.com>
Reviewed-by: Punit Agrawal <punit1.agrawal at toshiba.co.jp>
---

Changes in v4:
- add function comment for fdtdec_get_child_count() in fdt_support.h

Changes in v3: None
Changes in v2: None

 include/fdt_support.h |  9 +++++++++
 lib/fdtdec.c          | 11 -----------
 lib/fdtdec_common.c   | 11 +++++++++++
 3 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/include/fdt_support.h b/include/fdt_support.h
index ba14acd7f6..2eff311fa4 100644
--- a/include/fdt_support.h
+++ b/include/fdt_support.h
@@ -343,6 +343,15 @@ int fdt_get_cells_len(const void *blob, char *nr_cells_name);
 #ifdef USE_HOSTCC
 int fdtdec_get_int(const void *blob, int node, const char *prop_name,
 		int default_val);
+
+/*
+ * Count child nodes of one parent node.
+ *
+ * @param blob	FDT blob
+ * @param node	parent node
+ * @return number of child node; 0 if there is not child node
+ */
+int fdtdec_get_child_count(const void *blob, int node);
 #endif
 #ifdef CONFIG_FMAN_ENET
 int fdt_update_ethernet_dt(void *blob);
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index eb11fc898e..e13af283a1 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -810,17 +810,6 @@ int fdtdec_parse_phandle_with_args(const void *blob, int src_node,
 	return rc;
 }
 
-int fdtdec_get_child_count(const void *blob, int node)
-{
-	int subnode;
-	int num = 0;
-
-	fdt_for_each_subnode(subnode, blob, node)
-		num++;
-
-	return num;
-}
-
 int fdtdec_get_byte_array(const void *blob, int node, const char *prop_name,
 			  u8 *array, int count)
 {
diff --git a/lib/fdtdec_common.c b/lib/fdtdec_common.c
index 088e9e9063..5775992ef3 100644
--- a/lib/fdtdec_common.c
+++ b/lib/fdtdec_common.c
@@ -53,3 +53,14 @@ unsigned int fdtdec_get_uint(const void *blob, int node, const char *prop_name,
 	debug("(not found)\n");
 	return default_val;
 }
+
+int fdtdec_get_child_count(const void *blob, int node)
+{
+	int subnode;
+	int num = 0;
+
+	fdt_for_each_subnode(subnode, blob, node)
+		num++;
+
+	return num;
+}
-- 
2.17.1



More information about the U-Boot mailing list