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

Heinrich Schuchardt xypron.glpk at gmx.de
Mon Mar 30 07:29:44 CEST 2020


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.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

Please, use Sphinx style for function comments. See

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

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



More information about the U-Boot mailing list