diff mbox

[U-Boot] fdt: introudce fdt_get_child_count

Message ID 1454222326-32590-1-git-send-email-van.freenix@gmail.com
State Superseded
Headers show

Commit Message

Peng Fan Jan. 31, 2016, 6:38 a.m. UTC
Introudce fdt_get_child_count for get the number of subnodes of
one parent node.

Signed-off-by: Peng Fan <van.freenix@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
---
 include/libfdt.h | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Comments

Fabio Estevam Jan. 31, 2016, 1:19 p.m. UTC | #1
On Sun, Jan 31, 2016 at 4:38 AM, Peng Fan <van.freenix@gmail.com> wrote:
> Introudce fdt_get_child_count for get the number of subnodes of

s/Introudce/Introduce

Same error in Subject.
Simon Glass Jan. 31, 2016, 3:37 p.m. UTC | #2
Hi Peng,

On 30 January 2016 at 23:38, Peng Fan <van.freenix@gmail.com> wrote:
> Introudce fdt_get_child_count for get the number of subnodes of
> one parent node.
>
> Signed-off-by: Peng Fan <van.freenix@gmail.com>
> Cc: Simon Glass <sjg@chromium.org>
> ---
>  include/libfdt.h | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
>
> diff --git a/include/libfdt.h b/include/libfdt.h
> index e48c21a..94d29e6 100644
> --- a/include/libfdt.h
> +++ b/include/libfdt.h
> @@ -193,6 +193,24 @@ int fdt_next_subnode(const void *fdt, int offset);
>              node >= 0;                                 \
>              node = fdt_next_subnode(fdt, node))
>
> +/**
> + * fdt_get_child_count() - get the number of subnodes of one node
> + *
> + * @fdt:       FDT blob
> + * @node:      Offset of node
> + * @return number of child nodes of node, or 0 if there is no subnode.
> + */
> +static inline int fdt_get_child_count(void *fdt, int node)

Does this need to be inline. It doesn't seem important to me.

> +{
> +       int subnode;
> +       int num = 0;
> +
> +       fdt_for_each_subnode(fdt, subnode, node)
> +               num++;
> +
> +       return num;
> +}
> +
>  /**********************************************************************/
>  /* General functions                                                  */
>  /**********************************************************************/
> --
> 2.6.2
>

Regards,
Simon
Peng Fan Feb. 1, 2016, 1:13 a.m. UTC | #3
Hi Simon,

On Sun, Jan 31, 2016 at 08:37:45AM -0700, Simon Glass wrote:
>Hi Peng,
>
>On 30 January 2016 at 23:38, Peng Fan <van.freenix@gmail.com> wrote:
>> Introudce fdt_get_child_count for get the number of subnodes of
>> one parent node.
>>
>> Signed-off-by: Peng Fan <van.freenix@gmail.com>
>> Cc: Simon Glass <sjg@chromium.org>
>> ---
>>  include/libfdt.h | 18 ++++++++++++++++++
>>  1 file changed, 18 insertions(+)
>>
>> diff --git a/include/libfdt.h b/include/libfdt.h
>> index e48c21a..94d29e6 100644
>> --- a/include/libfdt.h
>> +++ b/include/libfdt.h
>> @@ -193,6 +193,24 @@ int fdt_next_subnode(const void *fdt, int offset);
>>              node >= 0;                                 \
>>              node = fdt_next_subnode(fdt, node))
>>
>> +/**
>> + * fdt_get_child_count() - get the number of subnodes of one node
>> + *
>> + * @fdt:       FDT blob
>> + * @node:      Offset of node
>> + * @return number of child nodes of node, or 0 if there is no subnode.
>> + */
>> +static inline int fdt_get_child_count(void *fdt, int node)
>
>Does this need to be inline. It doesn't seem important to me.

I just follow linux kernel and add inline. If inline is not needed, I can
move the piece code to lib/fdtdec.c.

You mean this API is not important?

Thanks,
Peng

>
>> +{
>> +       int subnode;
>> +       int num = 0;
>> +
>> +       fdt_for_each_subnode(fdt, subnode, node)
>> +               num++;
>> +
>> +       return num;
>> +}
>> +
>>  /**********************************************************************/
>>  /* General functions                                                  */
>>  /**********************************************************************/
>> --
>> 2.6.2
>>
>
>Regards,
>Simon
diff mbox

Patch

diff --git a/include/libfdt.h b/include/libfdt.h
index e48c21a..94d29e6 100644
--- a/include/libfdt.h
+++ b/include/libfdt.h
@@ -193,6 +193,24 @@  int fdt_next_subnode(const void *fdt, int offset);
 	     node >= 0;					\
 	     node = fdt_next_subnode(fdt, node))
 
+/**
+ * fdt_get_child_count() - get the number of subnodes of one node
+ *
+ * @fdt:	FDT blob
+ * @node:	Offset of node
+ * @return number of child nodes of node, or 0 if there is no subnode.
+ */
+static inline int fdt_get_child_count(void *fdt, int node)
+{
+	int subnode;
+	int num = 0;
+
+	fdt_for_each_subnode(fdt, subnode, node)
+		num++;
+
+	return num;
+}
+
 /**********************************************************************/
 /* General functions                                                  */
 /**********************************************************************/