All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V3 1/1] dt: add of_get_child_count helper function
@ 2012-02-11 17:22 ` Dong Aisheng
  0 siblings, 0 replies; 16+ messages in thread
From: Dong Aisheng @ 2012-02-11 17:22 UTC (permalink / raw)
  To: devicetree-discuss
  Cc: linux-kernel, linux-arm-kernel, grant.likely, rob.herring, Dong Aisheng

Currently most code to get child count in kernel are almost same,
add a helper to implement this function for dt to use.

Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Rob Herring <rob.herring@calxeda.com>

---
Hi Rob,

Since my imx pinctrl driver series still depends on the pinctrl core dt
binding patch which is still not in mainline, i'd like this pure dt patch
go separately first in case others want to use.

changes v2->v3:
 Addressed some people's comments:
 * do not use assignment as expression
 * return 0 for non-dt case

Changes v1->v2:
 * change the name from of_get_child_number to of_get_child_count
---
 include/linux/of.h |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/include/linux/of.h b/include/linux/of.h
index a75a831..ae242ef 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
 	for (child = of_get_next_child(parent, NULL); child != NULL; \
 	     child = of_get_next_child(parent, child))
 
+static inline int of_get_child_count(const struct device_node *np)
+{
+	struct device_node *child = NULL;
+	int num = 0;
+
+	while ((child = of_get_next_child(np, child)) != NULL)
+		num++;
+
+	return num;
+}
+
 extern struct device_node *of_find_node_with_property(
 	struct device_node *from, const char *prop_name);
 #define for_each_node_with_property(dn, prop_name) \
@@ -268,6 +279,11 @@ static inline bool of_have_populated_dt(void)
 #define for_each_child_of_node(parent, child) \
 	while (0)
 
+static inline int of_get_child_count(const struct device_node *np)
+{
+	return 0;
+}
+
 static inline int of_device_is_compatible(const struct device_node *device,
 					  const char *name)
 {
-- 
1.7.5.4


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH V3 1/1] dt: add of_get_child_count helper function
@ 2012-02-11 17:22 ` Dong Aisheng
  0 siblings, 0 replies; 16+ messages in thread
From: Dong Aisheng @ 2012-02-11 17:22 UTC (permalink / raw)
  To: linux-arm-kernel

Currently most code to get child count in kernel are almost same,
add a helper to implement this function for dt to use.

Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Rob Herring <rob.herring@calxeda.com>

---
Hi Rob,

Since my imx pinctrl driver series still depends on the pinctrl core dt
binding patch which is still not in mainline, i'd like this pure dt patch
go separately first in case others want to use.

changes v2->v3:
 Addressed some people's comments:
 * do not use assignment as expression
 * return 0 for non-dt case

Changes v1->v2:
 * change the name from of_get_child_number to of_get_child_count
---
 include/linux/of.h |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/include/linux/of.h b/include/linux/of.h
index a75a831..ae242ef 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
 	for (child = of_get_next_child(parent, NULL); child != NULL; \
 	     child = of_get_next_child(parent, child))
 
+static inline int of_get_child_count(const struct device_node *np)
+{
+	struct device_node *child = NULL;
+	int num = 0;
+
+	while ((child = of_get_next_child(np, child)) != NULL)
+		num++;
+
+	return num;
+}
+
 extern struct device_node *of_find_node_with_property(
 	struct device_node *from, const char *prop_name);
 #define for_each_node_with_property(dn, prop_name) \
@@ -268,6 +279,11 @@ static inline bool of_have_populated_dt(void)
 #define for_each_child_of_node(parent, child) \
 	while (0)
 
+static inline int of_get_child_count(const struct device_node *np)
+{
+	return 0;
+}
+
 static inline int of_device_is_compatible(const struct device_node *device,
 					  const char *name)
 {
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH V3 1/1] dt: add of_get_child_count helper function
  2012-02-11 17:22 ` Dong Aisheng
@ 2012-02-11 20:37   ` Sergei Shtylyov
  -1 siblings, 0 replies; 16+ messages in thread
From: Sergei Shtylyov @ 2012-02-11 20:37 UTC (permalink / raw)
  To: Dong Aisheng
  Cc: devicetree-discuss, grant.likely, rob.herring, linux-kernel,
	linux-arm-kernel

Hello.

On 11-02-2012 21:22, Dong Aisheng wrote:

> Currently most code to get child count in kernel are almost same,
> add a helper to implement this function for dt to use.

> Signed-off-by: Dong Aisheng<dong.aisheng@linaro.org>
> Cc: Grant Likely<grant.likely@secretlab.ca>
> Cc: Rob Herring<rob.herring@calxeda.com>

> ---
> Hi Rob,

> Since my imx pinctrl driver series still depends on the pinctrl core dt
> binding patch which is still not in mainline, i'd like this pure dt patch
> go separately first in case others want to use.

> changes v2->v3:
>   Addressed some people's comments:
>   * do not use assignment as expression
>   * return 0 for non-dt case

> Changes v1->v2:
>   * change the name from of_get_child_number to of_get_child_count
> ---
>   include/linux/of.h |   16 ++++++++++++++++
>   1 files changed, 16 insertions(+), 0 deletions(-)

> diff --git a/include/linux/of.h b/include/linux/of.h
> index a75a831..ae242ef 100644
> --- a/include/linux/of.h
> +++ b/include/linux/of.h
> @@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
>   	for (child = of_get_next_child(parent, NULL); child != NULL; \
>   	     child = of_get_next_child(parent, child))
>
> +static inline int of_get_child_count(const struct device_node *np)
> +{
> +	struct device_node *child = NULL;
> +	int num = 0;
> +
> +	while ((child = of_get_next_child(np, child)) != NULL)

    Doesn't scripts/checkpatch.pl complain here?

> +		num++;
> +
> +	return num;
> +}
> +

WBR, Sergei

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH V3 1/1] dt: add of_get_child_count helper function
@ 2012-02-11 20:37   ` Sergei Shtylyov
  0 siblings, 0 replies; 16+ messages in thread
From: Sergei Shtylyov @ 2012-02-11 20:37 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

On 11-02-2012 21:22, Dong Aisheng wrote:

> Currently most code to get child count in kernel are almost same,
> add a helper to implement this function for dt to use.

> Signed-off-by: Dong Aisheng<dong.aisheng@linaro.org>
> Cc: Grant Likely<grant.likely@secretlab.ca>
> Cc: Rob Herring<rob.herring@calxeda.com>

> ---
> Hi Rob,

> Since my imx pinctrl driver series still depends on the pinctrl core dt
> binding patch which is still not in mainline, i'd like this pure dt patch
> go separately first in case others want to use.

> changes v2->v3:
>   Addressed some people's comments:
>   * do not use assignment as expression
>   * return 0 for non-dt case

> Changes v1->v2:
>   * change the name from of_get_child_number to of_get_child_count
> ---
>   include/linux/of.h |   16 ++++++++++++++++
>   1 files changed, 16 insertions(+), 0 deletions(-)

> diff --git a/include/linux/of.h b/include/linux/of.h
> index a75a831..ae242ef 100644
> --- a/include/linux/of.h
> +++ b/include/linux/of.h
> @@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
>   	for (child = of_get_next_child(parent, NULL); child != NULL; \
>   	     child = of_get_next_child(parent, child))
>
> +static inline int of_get_child_count(const struct device_node *np)
> +{
> +	struct device_node *child = NULL;
> +	int num = 0;
> +
> +	while ((child = of_get_next_child(np, child)) != NULL)

    Doesn't scripts/checkpatch.pl complain here?

> +		num++;
> +
> +	return num;
> +}
> +

WBR, Sergei

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH V3 1/1] dt: add of_get_child_count helper function
  2012-02-11 20:37   ` Sergei Shtylyov
@ 2012-02-12  6:50     ` Dong Aisheng
  -1 siblings, 0 replies; 16+ messages in thread
From: Dong Aisheng @ 2012-02-12  6:50 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Dong Aisheng, devicetree-discuss, grant.likely, rob.herring,
	linux-kernel, linux-arm-kernel

On Sun, Feb 12, 2012 at 12:37:46AM +0400, Sergei Shtylyov wrote:
> >diff --git a/include/linux/of.h b/include/linux/of.h
> >index a75a831..ae242ef 100644
> >--- a/include/linux/of.h
> >+++ b/include/linux/of.h
> >@@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
> >  	for (child = of_get_next_child(parent, NULL); child != NULL; \
> >  	     child = of_get_next_child(parent, child))
> >
> >+static inline int of_get_child_count(const struct device_node *np)
> >+{
> >+	struct device_node *child = NULL;
> >+	int num = 0;
> >+
> >+	while ((child = of_get_next_child(np, child)) != NULL)
> 
>    Doesn't scripts/checkpatch.pl complain here?
> 
That complain actually is not caused by this patch.
I have already sent a patch to fix that issue.
But seemed to get a NACK.
Please refer to:
https://lkml.org/lkml/2011/12/20/236

Regards
Dong Aisheng

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH V3 1/1] dt: add of_get_child_count helper function
@ 2012-02-12  6:50     ` Dong Aisheng
  0 siblings, 0 replies; 16+ messages in thread
From: Dong Aisheng @ 2012-02-12  6:50 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, Feb 12, 2012 at 12:37:46AM +0400, Sergei Shtylyov wrote:
> >diff --git a/include/linux/of.h b/include/linux/of.h
> >index a75a831..ae242ef 100644
> >--- a/include/linux/of.h
> >+++ b/include/linux/of.h
> >@@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
> >  	for (child = of_get_next_child(parent, NULL); child != NULL; \
> >  	     child = of_get_next_child(parent, child))
> >
> >+static inline int of_get_child_count(const struct device_node *np)
> >+{
> >+	struct device_node *child = NULL;
> >+	int num = 0;
> >+
> >+	while ((child = of_get_next_child(np, child)) != NULL)
> 
>    Doesn't scripts/checkpatch.pl complain here?
> 
That complain actually is not caused by this patch.
I have already sent a patch to fix that issue.
But seemed to get a NACK.
Please refer to:
https://lkml.org/lkml/2011/12/20/236

Regards
Dong Aisheng

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH V3 1/1] dt: add of_get_child_count helper function
  2012-02-11 17:22 ` Dong Aisheng
@ 2012-02-12 20:22   ` Rob Herring
  -1 siblings, 0 replies; 16+ messages in thread
From: Rob Herring @ 2012-02-12 20:22 UTC (permalink / raw)
  To: Dong Aisheng
  Cc: devicetree-discuss, grant.likely, linux-kernel, linux-arm-kernel

On 02/11/2012 11:22 AM, Dong Aisheng wrote:
> Currently most code to get child count in kernel are almost same,
> add a helper to implement this function for dt to use.
> 
> Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
> Cc: Grant Likely <grant.likely@secretlab.ca>
> Cc: Rob Herring <rob.herring@calxeda.com>
> 
> ---
> Hi Rob,
> 
> Since my imx pinctrl driver series still depends on the pinctrl core dt
> binding patch which is still not in mainline, i'd like this pure dt patch
> go separately first in case others want to use.
> 

Applied for 3.4.

Rob

> changes v2->v3:
>  Addressed some people's comments:
>  * do not use assignment as expression
>  * return 0 for non-dt case
> 
> Changes v1->v2:
>  * change the name from of_get_child_number to of_get_child_count
> ---
>  include/linux/of.h |   16 ++++++++++++++++
>  1 files changed, 16 insertions(+), 0 deletions(-)
> 
> diff --git a/include/linux/of.h b/include/linux/of.h
> index a75a831..ae242ef 100644
> --- a/include/linux/of.h
> +++ b/include/linux/of.h
> @@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
>  	for (child = of_get_next_child(parent, NULL); child != NULL; \
>  	     child = of_get_next_child(parent, child))
>  
> +static inline int of_get_child_count(const struct device_node *np)
> +{
> +	struct device_node *child = NULL;
> +	int num = 0;
> +
> +	while ((child = of_get_next_child(np, child)) != NULL)
> +		num++;
> +
> +	return num;
> +}
> +
>  extern struct device_node *of_find_node_with_property(
>  	struct device_node *from, const char *prop_name);
>  #define for_each_node_with_property(dn, prop_name) \
> @@ -268,6 +279,11 @@ static inline bool of_have_populated_dt(void)
>  #define for_each_child_of_node(parent, child) \
>  	while (0)
>  
> +static inline int of_get_child_count(const struct device_node *np)
> +{
> +	return 0;
> +}
> +
>  static inline int of_device_is_compatible(const struct device_node *device,
>  					  const char *name)
>  {


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH V3 1/1] dt: add of_get_child_count helper function
@ 2012-02-12 20:22   ` Rob Herring
  0 siblings, 0 replies; 16+ messages in thread
From: Rob Herring @ 2012-02-12 20:22 UTC (permalink / raw)
  To: linux-arm-kernel

On 02/11/2012 11:22 AM, Dong Aisheng wrote:
> Currently most code to get child count in kernel are almost same,
> add a helper to implement this function for dt to use.
> 
> Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
> Cc: Grant Likely <grant.likely@secretlab.ca>
> Cc: Rob Herring <rob.herring@calxeda.com>
> 
> ---
> Hi Rob,
> 
> Since my imx pinctrl driver series still depends on the pinctrl core dt
> binding patch which is still not in mainline, i'd like this pure dt patch
> go separately first in case others want to use.
> 

Applied for 3.4.

Rob

> changes v2->v3:
>  Addressed some people's comments:
>  * do not use assignment as expression
>  * return 0 for non-dt case
> 
> Changes v1->v2:
>  * change the name from of_get_child_number to of_get_child_count
> ---
>  include/linux/of.h |   16 ++++++++++++++++
>  1 files changed, 16 insertions(+), 0 deletions(-)
> 
> diff --git a/include/linux/of.h b/include/linux/of.h
> index a75a831..ae242ef 100644
> --- a/include/linux/of.h
> +++ b/include/linux/of.h
> @@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
>  	for (child = of_get_next_child(parent, NULL); child != NULL; \
>  	     child = of_get_next_child(parent, child))
>  
> +static inline int of_get_child_count(const struct device_node *np)
> +{
> +	struct device_node *child = NULL;
> +	int num = 0;
> +
> +	while ((child = of_get_next_child(np, child)) != NULL)
> +		num++;
> +
> +	return num;
> +}
> +
>  extern struct device_node *of_find_node_with_property(
>  	struct device_node *from, const char *prop_name);
>  #define for_each_node_with_property(dn, prop_name) \
> @@ -268,6 +279,11 @@ static inline bool of_have_populated_dt(void)
>  #define for_each_child_of_node(parent, child) \
>  	while (0)
>  
> +static inline int of_get_child_count(const struct device_node *np)
> +{
> +	return 0;
> +}
> +
>  static inline int of_device_is_compatible(const struct device_node *device,
>  					  const char *name)
>  {

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH V3 1/1] dt: add of_get_child_count helper function
  2012-02-11 17:22 ` Dong Aisheng
@ 2012-02-13  0:04   ` Grant Likely
  -1 siblings, 0 replies; 16+ messages in thread
From: Grant Likely @ 2012-02-13  0:04 UTC (permalink / raw)
  To: Dong Aisheng
  Cc: devicetree-discuss, linux-kernel, linux-arm-kernel, rob.herring

On Sat, Feb 11, 2012 at 10:22 AM, Dong Aisheng <dong.aisheng@linaro.org> wrote:
> Currently most code to get child count in kernel are almost same,
> add a helper to implement this function for dt to use.
>
> Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
> Cc: Grant Likely <grant.likely@secretlab.ca>
> Cc: Rob Herring <rob.herring@calxeda.com>
>
> ---
> Hi Rob,
>
> Since my imx pinctrl driver series still depends on the pinctrl core dt
> binding patch which is still not in mainline, i'd like this pure dt patch
> go separately first in case others want to use.
>
> changes v2->v3:
>  Addressed some people's comments:
>  * do not use assignment as expression
>  * return 0 for non-dt case
>
> Changes v1->v2:
>  * change the name from of_get_child_number to of_get_child_count
> ---
>  include/linux/of.h |   16 ++++++++++++++++
>  1 files changed, 16 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/of.h b/include/linux/of.h
> index a75a831..ae242ef 100644
> --- a/include/linux/of.h
> +++ b/include/linux/of.h
> @@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
>        for (child = of_get_next_child(parent, NULL); child != NULL; \
>             child = of_get_next_child(parent, child))
>
> +static inline int of_get_child_count(const struct device_node *np)
> +{
> +       struct device_node *child = NULL;
> +       int num = 0;
> +
> +       while ((child = of_get_next_child(np, child)) != NULL)
> +               num++;

Use for_each_child_of_node()

g.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH V3 1/1] dt: add of_get_child_count helper function
@ 2012-02-13  0:04   ` Grant Likely
  0 siblings, 0 replies; 16+ messages in thread
From: Grant Likely @ 2012-02-13  0:04 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Feb 11, 2012 at 10:22 AM, Dong Aisheng <dong.aisheng@linaro.org> wrote:
> Currently most code to get child count in kernel are almost same,
> add a helper to implement this function for dt to use.
>
> Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
> Cc: Grant Likely <grant.likely@secretlab.ca>
> Cc: Rob Herring <rob.herring@calxeda.com>
>
> ---
> Hi Rob,
>
> Since my imx pinctrl driver series still depends on the pinctrl core dt
> binding patch which is still not in mainline, i'd like this pure dt patch
> go separately first in case others want to use.
>
> changes v2->v3:
> ?Addressed some people's comments:
> ?* do not use assignment as expression
> ?* return 0 for non-dt case
>
> Changes v1->v2:
> ?* change the name from of_get_child_number to of_get_child_count
> ---
> ?include/linux/of.h | ? 16 ++++++++++++++++
> ?1 files changed, 16 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/of.h b/include/linux/of.h
> index a75a831..ae242ef 100644
> --- a/include/linux/of.h
> +++ b/include/linux/of.h
> @@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
> ? ? ? ?for (child = of_get_next_child(parent, NULL); child != NULL; \
> ? ? ? ? ? ? child = of_get_next_child(parent, child))
>
> +static inline int of_get_child_count(const struct device_node *np)
> +{
> + ? ? ? struct device_node *child = NULL;
> + ? ? ? int num = 0;
> +
> + ? ? ? while ((child = of_get_next_child(np, child)) != NULL)
> + ? ? ? ? ? ? ? num++;

Use for_each_child_of_node()

g.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH V3 1/1] dt: add of_get_child_count helper function
  2012-02-12 20:22   ` Rob Herring
@ 2012-04-13 18:07     ` Dong Aisheng
  -1 siblings, 0 replies; 16+ messages in thread
From: Dong Aisheng @ 2012-04-13 18:07 UTC (permalink / raw)
  To: Rob Herring
  Cc: Dong Aisheng, devicetree-discuss, grant.likely, linux-kernel,
	linux-arm-kernel

Hi Rob,

On Mon, Feb 13, 2012 at 4:22 AM, Rob Herring <robherring2@gmail.com> wrote:
> On 02/11/2012 11:22 AM, Dong Aisheng wrote:
>> Currently most code to get child count in kernel are almost same,
>> add a helper to implement this function for dt to use.
>>
>> Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
>> Cc: Grant Likely <grant.likely@secretlab.ca>
>> Cc: Rob Herring <rob.herring@calxeda.com>
>>
>> ---
>> Hi Rob,
>>
>> Since my imx pinctrl driver series still depends on the pinctrl core dt
>> binding patch which is still not in mainline, i'd like this pure dt patch
>> go separately first in case others want to use.
>>
>
> Applied for 3.4.
>
I did not see this in 3.4 kernel.
Anything i missed?
My pinctrl-imx driver i just sent is using this.

Regards
Dong Aisheng

> Rob
>
>> changes v2->v3:
>>  Addressed some people's comments:
>>  * do not use assignment as expression
>>  * return 0 for non-dt case
>>
>> Changes v1->v2:
>>  * change the name from of_get_child_number to of_get_child_count
>> ---
>>  include/linux/of.h |   16 ++++++++++++++++
>>  1 files changed, 16 insertions(+), 0 deletions(-)
>>
>> diff --git a/include/linux/of.h b/include/linux/of.h
>> index a75a831..ae242ef 100644
>> --- a/include/linux/of.h
>> +++ b/include/linux/of.h
>> @@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
>>       for (child = of_get_next_child(parent, NULL); child != NULL; \
>>            child = of_get_next_child(parent, child))
>>
>> +static inline int of_get_child_count(const struct device_node *np)
>> +{
>> +     struct device_node *child = NULL;
>> +     int num = 0;
>> +
>> +     while ((child = of_get_next_child(np, child)) != NULL)
>> +             num++;
>> +
>> +     return num;
>> +}
>> +
>>  extern struct device_node *of_find_node_with_property(
>>       struct device_node *from, const char *prop_name);
>>  #define for_each_node_with_property(dn, prop_name) \
>> @@ -268,6 +279,11 @@ static inline bool of_have_populated_dt(void)
>>  #define for_each_child_of_node(parent, child) \
>>       while (0)
>>
>> +static inline int of_get_child_count(const struct device_node *np)
>> +{
>> +     return 0;
>> +}
>> +
>>  static inline int of_device_is_compatible(const struct device_node *device,
>>                                         const char *name)
>>  {
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH V3 1/1] dt: add of_get_child_count helper function
@ 2012-04-13 18:07     ` Dong Aisheng
  0 siblings, 0 replies; 16+ messages in thread
From: Dong Aisheng @ 2012-04-13 18:07 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Rob,

On Mon, Feb 13, 2012 at 4:22 AM, Rob Herring <robherring2@gmail.com> wrote:
> On 02/11/2012 11:22 AM, Dong Aisheng wrote:
>> Currently most code to get child count in kernel are almost same,
>> add a helper to implement this function for dt to use.
>>
>> Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
>> Cc: Grant Likely <grant.likely@secretlab.ca>
>> Cc: Rob Herring <rob.herring@calxeda.com>
>>
>> ---
>> Hi Rob,
>>
>> Since my imx pinctrl driver series still depends on the pinctrl core dt
>> binding patch which is still not in mainline, i'd like this pure dt patch
>> go separately first in case others want to use.
>>
>
> Applied for 3.4.
>
I did not see this in 3.4 kernel.
Anything i missed?
My pinctrl-imx driver i just sent is using this.

Regards
Dong Aisheng

> Rob
>
>> changes v2->v3:
>> ?Addressed some people's comments:
>> ?* do not use assignment as expression
>> ?* return 0 for non-dt case
>>
>> Changes v1->v2:
>> ?* change the name from of_get_child_number to of_get_child_count
>> ---
>> ?include/linux/of.h | ? 16 ++++++++++++++++
>> ?1 files changed, 16 insertions(+), 0 deletions(-)
>>
>> diff --git a/include/linux/of.h b/include/linux/of.h
>> index a75a831..ae242ef 100644
>> --- a/include/linux/of.h
>> +++ b/include/linux/of.h
>> @@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
>> ? ? ? for (child = of_get_next_child(parent, NULL); child != NULL; \
>> ? ? ? ? ? ?child = of_get_next_child(parent, child))
>>
>> +static inline int of_get_child_count(const struct device_node *np)
>> +{
>> + ? ? struct device_node *child = NULL;
>> + ? ? int num = 0;
>> +
>> + ? ? while ((child = of_get_next_child(np, child)) != NULL)
>> + ? ? ? ? ? ? num++;
>> +
>> + ? ? return num;
>> +}
>> +
>> ?extern struct device_node *of_find_node_with_property(
>> ? ? ? struct device_node *from, const char *prop_name);
>> ?#define for_each_node_with_property(dn, prop_name) \
>> @@ -268,6 +279,11 @@ static inline bool of_have_populated_dt(void)
>> ?#define for_each_child_of_node(parent, child) \
>> ? ? ? while (0)
>>
>> +static inline int of_get_child_count(const struct device_node *np)
>> +{
>> + ? ? return 0;
>> +}
>> +
>> ?static inline int of_device_is_compatible(const struct device_node *device,
>> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? const char *name)
>> ?{
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at ?http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH V3 1/1] dt: add of_get_child_count helper function
  2012-04-13 18:07     ` Dong Aisheng
@ 2012-04-15  3:15       ` Rob Herring
  -1 siblings, 0 replies; 16+ messages in thread
From: Rob Herring @ 2012-04-15  3:15 UTC (permalink / raw)
  To: Dong Aisheng
  Cc: Dong Aisheng, devicetree-discuss, grant.likely, linux-kernel,
	linux-arm-kernel

On 04/13/2012 01:07 PM, Dong Aisheng wrote:
> Hi Rob,
> 
> On Mon, Feb 13, 2012 at 4:22 AM, Rob Herring <robherring2@gmail.com> wrote:
>> On 02/11/2012 11:22 AM, Dong Aisheng wrote:
>>> Currently most code to get child count in kernel are almost same,
>>> add a helper to implement this function for dt to use.
>>>
>>> Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
>>> Cc: Grant Likely <grant.likely@secretlab.ca>
>>> Cc: Rob Herring <rob.herring@calxeda.com>
>>>
>>> ---
>>> Hi Rob,
>>>
>>> Since my imx pinctrl driver series still depends on the pinctrl core dt
>>> binding patch which is still not in mainline, i'd like this pure dt patch
>>> go separately first in case others want to use.
>>>
>>
>> Applied for 3.4.
>>
> I did not see this in 3.4 kernel.
> Anything i missed?
> My pinctrl-imx driver i just sent is using this.

Sorry, I did not get this sent to Grant in time. Go ahead and merge it
with your pinctrl driver.

Rob

> 
> Regards
> Dong Aisheng
> 
>> Rob
>>
>>> changes v2->v3:
>>>  Addressed some people's comments:
>>>  * do not use assignment as expression
>>>  * return 0 for non-dt case
>>>
>>> Changes v1->v2:
>>>  * change the name from of_get_child_number to of_get_child_count
>>> ---
>>>  include/linux/of.h |   16 ++++++++++++++++
>>>  1 files changed, 16 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/include/linux/of.h b/include/linux/of.h
>>> index a75a831..ae242ef 100644
>>> --- a/include/linux/of.h
>>> +++ b/include/linux/of.h
>>> @@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
>>>       for (child = of_get_next_child(parent, NULL); child != NULL; \
>>>            child = of_get_next_child(parent, child))
>>>
>>> +static inline int of_get_child_count(const struct device_node *np)
>>> +{
>>> +     struct device_node *child = NULL;
>>> +     int num = 0;
>>> +
>>> +     while ((child = of_get_next_child(np, child)) != NULL)
>>> +             num++;
>>> +
>>> +     return num;
>>> +}
>>> +
>>>  extern struct device_node *of_find_node_with_property(
>>>       struct device_node *from, const char *prop_name);
>>>  #define for_each_node_with_property(dn, prop_name) \
>>> @@ -268,6 +279,11 @@ static inline bool of_have_populated_dt(void)
>>>  #define for_each_child_of_node(parent, child) \
>>>       while (0)
>>>
>>> +static inline int of_get_child_count(const struct device_node *np)
>>> +{
>>> +     return 0;
>>> +}
>>> +
>>>  static inline int of_device_is_compatible(const struct device_node *device,
>>>                                         const char *name)
>>>  {
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at  http://www.tux.org/lkml/


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH V3 1/1] dt: add of_get_child_count helper function
@ 2012-04-15  3:15       ` Rob Herring
  0 siblings, 0 replies; 16+ messages in thread
From: Rob Herring @ 2012-04-15  3:15 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/13/2012 01:07 PM, Dong Aisheng wrote:
> Hi Rob,
> 
> On Mon, Feb 13, 2012 at 4:22 AM, Rob Herring <robherring2@gmail.com> wrote:
>> On 02/11/2012 11:22 AM, Dong Aisheng wrote:
>>> Currently most code to get child count in kernel are almost same,
>>> add a helper to implement this function for dt to use.
>>>
>>> Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
>>> Cc: Grant Likely <grant.likely@secretlab.ca>
>>> Cc: Rob Herring <rob.herring@calxeda.com>
>>>
>>> ---
>>> Hi Rob,
>>>
>>> Since my imx pinctrl driver series still depends on the pinctrl core dt
>>> binding patch which is still not in mainline, i'd like this pure dt patch
>>> go separately first in case others want to use.
>>>
>>
>> Applied for 3.4.
>>
> I did not see this in 3.4 kernel.
> Anything i missed?
> My pinctrl-imx driver i just sent is using this.

Sorry, I did not get this sent to Grant in time. Go ahead and merge it
with your pinctrl driver.

Rob

> 
> Regards
> Dong Aisheng
> 
>> Rob
>>
>>> changes v2->v3:
>>>  Addressed some people's comments:
>>>  * do not use assignment as expression
>>>  * return 0 for non-dt case
>>>
>>> Changes v1->v2:
>>>  * change the name from of_get_child_number to of_get_child_count
>>> ---
>>>  include/linux/of.h |   16 ++++++++++++++++
>>>  1 files changed, 16 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/include/linux/of.h b/include/linux/of.h
>>> index a75a831..ae242ef 100644
>>> --- a/include/linux/of.h
>>> +++ b/include/linux/of.h
>>> @@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
>>>       for (child = of_get_next_child(parent, NULL); child != NULL; \
>>>            child = of_get_next_child(parent, child))
>>>
>>> +static inline int of_get_child_count(const struct device_node *np)
>>> +{
>>> +     struct device_node *child = NULL;
>>> +     int num = 0;
>>> +
>>> +     while ((child = of_get_next_child(np, child)) != NULL)
>>> +             num++;
>>> +
>>> +     return num;
>>> +}
>>> +
>>>  extern struct device_node *of_find_node_with_property(
>>>       struct device_node *from, const char *prop_name);
>>>  #define for_each_node_with_property(dn, prop_name) \
>>> @@ -268,6 +279,11 @@ static inline bool of_have_populated_dt(void)
>>>  #define for_each_child_of_node(parent, child) \
>>>       while (0)
>>>
>>> +static inline int of_get_child_count(const struct device_node *np)
>>> +{
>>> +     return 0;
>>> +}
>>> +
>>>  static inline int of_device_is_compatible(const struct device_node *device,
>>>                                         const char *name)
>>>  {
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo at vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH V3 1/1] dt: add of_get_child_count helper function
  2012-04-15  3:15       ` Rob Herring
@ 2012-04-15  3:51         ` Dong Aisheng
  -1 siblings, 0 replies; 16+ messages in thread
From: Dong Aisheng @ 2012-04-15  3:51 UTC (permalink / raw)
  To: Rob Herring
  Cc: Dong Aisheng, devicetree-discuss, grant.likely, linux-kernel,
	linux-arm-kernel

On Sun, Apr 15, 2012 at 11:15 AM, Rob Herring <robherring2@gmail.com> wrote:
> On 04/13/2012 01:07 PM, Dong Aisheng wrote:
>> Hi Rob,
>>
>> On Mon, Feb 13, 2012 at 4:22 AM, Rob Herring <robherring2@gmail.com> wrote:
>>> On 02/11/2012 11:22 AM, Dong Aisheng wrote:
>>>> Currently most code to get child count in kernel are almost same,
>>>> add a helper to implement this function for dt to use.
>>>>
>>>> Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
>>>> Cc: Grant Likely <grant.likely@secretlab.ca>
>>>> Cc: Rob Herring <rob.herring@calxeda.com>
>>>>
>>>> ---
>>>> Hi Rob,
>>>>
>>>> Since my imx pinctrl driver series still depends on the pinctrl core dt
>>>> binding patch which is still not in mainline, i'd like this pure dt patch
>>>> go separately first in case others want to use.
>>>>
>>>
>>> Applied for 3.4.
>>>
>> I did not see this in 3.4 kernel.
>> Anything i missed?
>> My pinctrl-imx driver i just sent is using this.
>
> Sorry, I did not get this sent to Grant in time. Go ahead and merge it
> with your pinctrl driver.
>
It's fine to me,
so i can add your ack, right?

Regards
Dong Aisheng

>
>>
>> Regards
>> Dong Aisheng
>>
>>> Rob
>>>
>>>> changes v2->v3:
>>>>  Addressed some people's comments:
>>>>  * do not use assignment as expression
>>>>  * return 0 for non-dt case
>>>>
>>>> Changes v1->v2:
>>>>  * change the name from of_get_child_number to of_get_child_count
>>>> ---
>>>>  include/linux/of.h |   16 ++++++++++++++++
>>>>  1 files changed, 16 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/include/linux/of.h b/include/linux/of.h
>>>> index a75a831..ae242ef 100644
>>>> --- a/include/linux/of.h
>>>> +++ b/include/linux/of.h
>>>> @@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
>>>>       for (child = of_get_next_child(parent, NULL); child != NULL; \
>>>>            child = of_get_next_child(parent, child))
>>>>
>>>> +static inline int of_get_child_count(const struct device_node *np)
>>>> +{
>>>> +     struct device_node *child = NULL;
>>>> +     int num = 0;
>>>> +
>>>> +     while ((child = of_get_next_child(np, child)) != NULL)
>>>> +             num++;
>>>> +
>>>> +     return num;
>>>> +}
>>>> +
>>>>  extern struct device_node *of_find_node_with_property(
>>>>       struct device_node *from, const char *prop_name);
>>>>  #define for_each_node_with_property(dn, prop_name) \
>>>> @@ -268,6 +279,11 @@ static inline bool of_have_populated_dt(void)
>>>>  #define for_each_child_of_node(parent, child) \
>>>>       while (0)
>>>>
>>>> +static inline int of_get_child_count(const struct device_node *np)
>>>> +{
>>>> +     return 0;
>>>> +}
>>>> +
>>>>  static inline int of_device_is_compatible(const struct device_node *device,
>>>>                                         const char *name)
>>>>  {
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>> Please read the FAQ at  http://www.tux.org/lkml/
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH V3 1/1] dt: add of_get_child_count helper function
@ 2012-04-15  3:51         ` Dong Aisheng
  0 siblings, 0 replies; 16+ messages in thread
From: Dong Aisheng @ 2012-04-15  3:51 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, Apr 15, 2012 at 11:15 AM, Rob Herring <robherring2@gmail.com> wrote:
> On 04/13/2012 01:07 PM, Dong Aisheng wrote:
>> Hi Rob,
>>
>> On Mon, Feb 13, 2012 at 4:22 AM, Rob Herring <robherring2@gmail.com> wrote:
>>> On 02/11/2012 11:22 AM, Dong Aisheng wrote:
>>>> Currently most code to get child count in kernel are almost same,
>>>> add a helper to implement this function for dt to use.
>>>>
>>>> Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
>>>> Cc: Grant Likely <grant.likely@secretlab.ca>
>>>> Cc: Rob Herring <rob.herring@calxeda.com>
>>>>
>>>> ---
>>>> Hi Rob,
>>>>
>>>> Since my imx pinctrl driver series still depends on the pinctrl core dt
>>>> binding patch which is still not in mainline, i'd like this pure dt patch
>>>> go separately first in case others want to use.
>>>>
>>>
>>> Applied for 3.4.
>>>
>> I did not see this in 3.4 kernel.
>> Anything i missed?
>> My pinctrl-imx driver i just sent is using this.
>
> Sorry, I did not get this sent to Grant in time. Go ahead and merge it
> with your pinctrl driver.
>
It's fine to me,
so i can add your ack, right?

Regards
Dong Aisheng

>
>>
>> Regards
>> Dong Aisheng
>>
>>> Rob
>>>
>>>> changes v2->v3:
>>>> ?Addressed some people's comments:
>>>> ?* do not use assignment as expression
>>>> ?* return 0 for non-dt case
>>>>
>>>> Changes v1->v2:
>>>> ?* change the name from of_get_child_number to of_get_child_count
>>>> ---
>>>> ?include/linux/of.h | ? 16 ++++++++++++++++
>>>> ?1 files changed, 16 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/include/linux/of.h b/include/linux/of.h
>>>> index a75a831..ae242ef 100644
>>>> --- a/include/linux/of.h
>>>> +++ b/include/linux/of.h
>>>> @@ -195,6 +195,17 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
>>>> ? ? ? for (child = of_get_next_child(parent, NULL); child != NULL; \
>>>> ? ? ? ? ? ?child = of_get_next_child(parent, child))
>>>>
>>>> +static inline int of_get_child_count(const struct device_node *np)
>>>> +{
>>>> + ? ? struct device_node *child = NULL;
>>>> + ? ? int num = 0;
>>>> +
>>>> + ? ? while ((child = of_get_next_child(np, child)) != NULL)
>>>> + ? ? ? ? ? ? num++;
>>>> +
>>>> + ? ? return num;
>>>> +}
>>>> +
>>>> ?extern struct device_node *of_find_node_with_property(
>>>> ? ? ? struct device_node *from, const char *prop_name);
>>>> ?#define for_each_node_with_property(dn, prop_name) \
>>>> @@ -268,6 +279,11 @@ static inline bool of_have_populated_dt(void)
>>>> ?#define for_each_child_of_node(parent, child) \
>>>> ? ? ? while (0)
>>>>
>>>> +static inline int of_get_child_count(const struct device_node *np)
>>>> +{
>>>> + ? ? return 0;
>>>> +}
>>>> +
>>>> ?static inline int of_device_is_compatible(const struct device_node *device,
>>>> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? const char *name)
>>>> ?{
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>> the body of a message to majordomo at vger.kernel.org
>>> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>>> Please read the FAQ at ?http://www.tux.org/lkml/
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2012-04-15  3:51 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-11 17:22 [PATCH V3 1/1] dt: add of_get_child_count helper function Dong Aisheng
2012-02-11 17:22 ` Dong Aisheng
2012-02-11 20:37 ` Sergei Shtylyov
2012-02-11 20:37   ` Sergei Shtylyov
2012-02-12  6:50   ` Dong Aisheng
2012-02-12  6:50     ` Dong Aisheng
2012-02-12 20:22 ` Rob Herring
2012-02-12 20:22   ` Rob Herring
2012-04-13 18:07   ` Dong Aisheng
2012-04-13 18:07     ` Dong Aisheng
2012-04-15  3:15     ` Rob Herring
2012-04-15  3:15       ` Rob Herring
2012-04-15  3:51       ` Dong Aisheng
2012-04-15  3:51         ` Dong Aisheng
2012-02-13  0:04 ` Grant Likely
2012-02-13  0:04   ` Grant Likely

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.