libfdt: Make fdtdec_get_child_count() available for HOST
authorKever Yang <kever.yang@rock-chips.com>
Mon, 30 Mar 2020 03:56:23 +0000 (11:56 +0800)
committerTom Rini <trini@konsulko.com>
Fri, 24 Apr 2020 14:10:01 +0000 (10:10 -0400)
The tool need to use fdtdec_get_child_count(), make it available for
HOST_CC.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Punit Agrawal <punit1.agrawal@toshiba.co.jp>
Reviewed-by: Simon Glass <sjg@chromium.org>
include/fdt_support.h
lib/fdtdec.c
lib/fdtdec_common.c

index ba14acd..2eff311 100644 (file)
@@ -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);
index 460f0d2..0a3b860 100644 (file)
@@ -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)
 {
index 088e9e9..5775992 100644 (file)
@@ -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;
+}