How to handle named resources with DT?

Grant Likely grant.likely at secretlab.ca
Wed Aug 10 06:57:23 EST 2011


On Tue, Aug 09, 2011 at 01:26:29PM -0500, Scott Wood wrote:
> On 08/09/2011 12:47 PM, Cousson, Benoit wrote:
> > On 8/9/2011 7:23 PM, Grant Likely wrote:
> >> There is no analogous mechanism for _byname in the device tree.  The
> >> DT binding for a device must explicitly state what order the register
> >> ranges are in.  The driver will need to be adapted.
> > 
> > That seems to be a small regression for my point of view. Relying on the
> > order is not super safe. This is not very readable either. That's for
> > that exact reason that we changed our drivers to use
> > platform_get_resource_byname. That's probably the reason why that API is
> > there as well.
> > For the same IP, the number of entries can vary depending of the SoC
> > revision.
> > By using the _byname, we can check if the resource is there or not
> > without having to care about the position.
> 
> You could have a named u32 property that contains the reg index, e.g.:
> 
> dev {
> 	reg = <0x20000 0x200 0x24000 0x200>;
> 	foo-reg = <0>;
> 	bar-reg = <1>;
> };

That's a little nasty.  A reg-names = "foo", "bar"; would probably be
better.

g.



More information about the devicetree-discuss mailing list