On 11/18/2011 10:45 AM, Wojciech Baranowski wrote: > On Fri, Nov 18, 2011 at 11:10 AM, Rob Herring <[email protected]> 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.
auxdata is really meant to be a temporary solution to plug platform_data. All platform devices do not necessarily go into the DT. The DT should describe the h/w. For sound I would expect this to be all the h/w blocks like i2s, dma, codec and then information on how they are connected. Can you show what your sound binding looks like. Rob > >>> Signed-off-by: Wojciech Baranowski <[email protected]> >>> --- >>> 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; >> >> _______________________________________________ devicetree-discuss mailing list [email protected] https://lists.ozlabs.org/listinfo/devicetree-discuss
