[PATCH] ARM: omap_hwmod: Fix up resource names when booted with devicetree

Hiremath, Vaibhav hvaibhav at ti.com
Thu Sep 6 04:28:21 EDT 2012


On Thu, Sep 06, 2012 at 13:07:29, Cousson, Benoit wrote:
> Hi Vaibhav,
> 
> On 09/05/2012 10:05 PM, Vaibhav Hiremath wrote:
> > On 9/5/2012 7:57 PM, Benoit Cousson wrote:
> >> Hi Paul,
> >>
> >> On 08/24/2012 06:20 PM, Peter Ujfalusi wrote:
> >>> Hi Paul,
> >>>
> >>> On 08/24/2012 06:38 PM, Paul Walmsley wrote:
> >>>> 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.
> 
> > 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
> 
> 




More information about the linux-arm-kernel mailing list