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 ba14acd7f622b75de4cb4dadce6540e993c36d38..2eff311fa4f577e8099a51ac82d8003b01e4eebb 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 460f0d250b4d6414d920fdfdb18a943a8a025118..0a3b86078229f8ef8ce18e516fef00edabdb6cc8 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 088e9e9063a92b378912fefdc46c74cc84ee892d..5775992ef3373f36b27bdf6b1d2e9c80044d6161 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;
+}