On 2020/3/30 下午1:29, Heinrich Schuchardt wrote:
On 3/30/20 5:56 AM, Kever Yang wrote:
The tool need to use fdtdec_get_child_count(), make it available for
HOST_CC.

Signed-off-by: Kever Yang <kever.y...@rock-chips.com>
Reviewed-by: Punit Agrawal <punit1.agra...@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

Please, use Sphinx style for function comments. See

https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#function-documentation


This is a directly copy from include/fdtdec.h, maybe we need a clean up after this patch?

Because at least many comment's style are like this in fdtdec.h and fdt_support.h.


Thanks,

- Kever


Best regards

Heinrich

+ */
+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;
+}





Reply via email to