[PATCH] ARM: omap_hwmod: Fix up resource names when booted with devicetree
From: Hiremath, Vaibhav <hidden>
Date: 2012-09-06 08:28:21
Also in:
linux-omap
On Thu, Sep 06, 2012 at 13:07:29, Cousson, Benoit wrote:
Hi Vaibhav, On 09/05/2012 10:05 PM, Vaibhav Hiremath wrote:quoted
On 9/5/2012 7:57 PM, Benoit Cousson wrote:quoted
Hi Paul, On 08/24/2012 06:20 PM, Peter Ujfalusi wrote:quoted
Hi Paul, On 08/24/2012 06:38 PM, Paul Walmsley wrote:quoted
Do we need both this one and your '[PATCH] driver core: Check if r->name is valid in platform_get_resource_byname()' ? Or would that second patch be enough? Is the crash happening in the platform_get_resource_byname() iterator?The crash happens in platform_get_resource_byname(). What I see as a problem that when we boot without DT the r->name is configured for the hwmods. If we boot with DT we discard the resources created by the OF (which also have the r->name configured). We replace the resources from hwmods but we do not fix up the resource names (which is done in other cases). I have sent the patch for the drivers core as well since I think it is a good practice anyway to check for NULL pointer before strcmp(). Either is good, but IMHO we should fix this in omap_hwmod (at least).Yes, clearly we do have a corner case today due to the mix of hwmod / DTS resource management. - Legacy boot + hwmod resources is OK - DTS boot with DTS resources will be OK - DTS boot with hwmod resources is not OK since the resource name will not be populated in the case resources are not named :-( If you are OK, I'll take that patch along with Vaibhav one to handle properly the resources from DTS long with the DTS patches I'm queuing for 3.7.Benoit, Note that this patch will add device name to all resources, since none of the resource will have name property and may break drivers; especially after my patch which respects DT resources.So you do have to add the name in the DTS if the driver is expecting that.quoted
Also I just read the thread you started sometime back on _byname api, not sure that was the conclusion, but it seems like it is not recommended to use _byname. The driver should be fixed while converting to DT.No the DT name for reg and interrupt was accepted and Peter is taking advantage on that. The only missing binding is the DMA now. Here is what Peter did. compatible = "ti,omap4-mcpdm"; reg = <0x40132000 0x7f>, /* MPU private access */ <0x49032000 0x7f>; /* L3 Interconnect */ + reg-names = "mpu", "dma"; interrupts = <0 112 0x4>; interrupt-parent = <&gic>; ti,hwmods = "mcpdm";
Thanks for sharing this and now I found it in Documentation/devicetree/bindings/resource-names.txt In that case, we do not have any issues and you can merge this patch. Thanks, Vaibhav
Regards, Benoit