[PATCH] of/platform: Allow missing address for dev name lookup

Wojciech Baranowski baranowski at google.com
Sat Nov 19 03:45:05 EST 2011


On Fri, Nov 18, 2011 at 11:10 AM, Rob Herring <rob.herring at calxeda.com> wrote:
> On 11/18/2011 09:09 AM, Wojciech Baranowski wrote:
>> While looking up linux name for platform device, check the address only if it
>> has been supplied in lookup table.
>>
> And the reason you want to do this is?

Name lookup table is used to provide names for platform devices on the
board I'm working on. I'm adding /sound node without address for audio
subsystem and don't want to break that convention.

>> Signed-off-by: Wojciech Baranowski <baranowski at chromium.org>
>> ---
>>  drivers/of/platform.c |    8 +++++---
>>  1 files changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/of/platform.c b/drivers/of/platform.c
>> index cbd5d70..94763c0 100644
>> --- a/drivers/of/platform.c
>> +++ b/drivers/of/platform.c
>> @@ -314,12 +314,14 @@ static const struct of_dev_auxdata *of_dev_lookup(const struct of_dev_auxdata *l
>>       if (!lookup)
>>               return NULL;
>>
>> -     for(; lookup->name != NULL; lookup++) {
>> +     for (; lookup->name != NULL; lookup++) {
>>               if (!of_device_is_compatible(np, lookup->compatible))
>>                       continue;
>> -             if (of_address_to_resource(np, 0, &res))
>> +             if (lookup->phys_addr &&
>> +                             of_address_to_resource(np, 0, &res))
>>                       continue;
>> -             if (res.start != lookup->phys_addr)
>> +             if (lookup->phys_addr &&
>> +                             res.start != lookup->phys_addr)
>>                       continue;
>>               pr_debug("%s: devname=%s\n", np->full_name, lookup->name);
>>               return lookup;
>
>


More information about the devicetree-discuss mailing list