[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC 08/29] xen/arm: Add helpers to use the device tree



On 04/29/2013 05:55 PM, Ian Campbell wrote:

> On Mon, 2013-04-29 at 16:40 +0100, Julien Grall wrote:
>> On 04/29/2013 04:23 PM, Ian Campbell wrote:
>>
>>> On Mon, 2013-04-29 at 00:01 +0100, Julien Grall wrote:
>>>
>>> Are these also from Linux?
>>>
>>>> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
>>>> ---
>>>>  xen/common/device_tree.c      |  120 
>>>> +++++++++++++++++++++++++++++++++++++++++
>>>>  xen/include/xen/device_tree.h |  120 
>>>> +++++++++++++++++++++++++++++++++++++++++
>>>>  2 files changed, 240 insertions(+)
>>>>
>>>> diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
>>>> index 05285b7..dd4b813 100644
>>>> --- a/xen/common/device_tree.c
>>>> +++ b/xen/common/device_tree.c
>>>> @@ -573,6 +573,54 @@ const void *dt_get_property(const struct 
>>>> dt_device_node *np,
>>>>      return pp ? pp->value : NULL;
>>>>  }
>>>>  
>>>> +bool_t dt_device_is_compatible(const struct dt_device_node *device,
>>>> +                               const char *compat)
>>>> +{
>>>> +    const char* cp;
>>>> +    u32 cplen, l;
>>>> +
>>>> +    cp = dt_get_property(device, "compatible", &cplen);
>>>> +    if ( cp == NULL )
>>>> +        return 0;
>>>> +    while ( cplen > 0 )
>>>> +    {
>>>> +        if ( dt_compat_cmp(cp, compat, strlen(compat)) == 0 )
>>>
>>> We have functions which do this already, don't we? Also things like
>>> dt_node_cmp, dt_read_number etc have analogues in the current code.
>>>
>>> If these are from Linux I'm inclined to believe they will be better than
>>> our own. For 4.4 we should look at removing our variants.
>>>
>>> Or maybe if I keep reading the series I will find them going away
>>> already?
>>
>>
>> In fact it's exactly the same, except the current function deals with
>> flat device tree and the new one deals with the hierarchical device tree.
>>
>> I'm afraid we can't remove this duplicate code, we still need it for
>> early scan of the device tree to retrieve memory, cpus, and modules
>> informations.
> 
> We can't use dt_compat_cmp in the early code?

Oh right, I though you were talking about dt_device_is_compatible and
device_tree_node_compatible.

-- 
Julien



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.