[PATCH V3 1/1] dt: add of_get_child_count helper function
Dong Aisheng
dongas86 at gmail.com
Sat Apr 14 23:51:27 EDT 2012
On Sun, Apr 15, 2012 at 11:15 AM, Rob Herring <robherring2 at 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 at 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 at linaro.org>
>>>> Cc: Grant Likely <grant.likely at secretlab.ca>
>>>> Cc: Rob Herring <rob.herring at 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/
>
More information about the linux-arm-kernel
mailing list