diff options
author | Kever Yang | 2020-03-30 11:56:23 +0800 |
---|---|---|
committer | Tom Rini | 2020-04-24 10:10:01 -0400 |
commit | 10d887ddfa4f94aa94cf7a6d3dd4f28a339a2f13 (patch) | |
tree | 016dcfd3b6ef9dc8e66dac8fa4641c7fbc4afecb | |
parent | 02560b13689650cf0d2f5825eaf480629ce9238f (diff) |
libfdt: Make fdtdec_get_child_count() available for HOST
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>
-rw-r--r-- | include/fdt_support.h | 9 | ||||
-rw-r--r-- | lib/fdtdec.c | 11 | ||||
-rw-r--r-- | 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 ba14acd7f62..2eff311fa4f 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 460f0d250b4..0a3b8607822 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 088e9e9063a..5775992ef33 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; +} |