generating a phandle w/libfdt?

David Gibson david at gibson.dropbear.id.au
Tue Oct 28 11:05:55 EST 2008


On Mon, Oct 27, 2008 at 08:14:48AM -0700, Yoder Stuart wrote:
>  
> 
> > -----Original Message-----
> > From: David Gibson [mailto:david at gibson.dropbear.id.au] 
> > Sent: Sunday, October 26, 2008 6:41 PM
> > To: Yoder Stuart-B08248
> > Cc: Kumar Gala; devicetree-discuss
> > Subject: Re: generating a phandle w/libfdt?
> > 
> > On Fri, Oct 24, 2008 at 09:29:21AM -0700, Yoder Stuart wrote:
> > >  
> > > 
> > > > -----Original Message-----
> > > > From: 
> > > > devicetree-discuss-bounces+stuart.yoder=freescale.com at ozlabs.o
> > > > rg 
> > > > [mailto:devicetree-discuss-bounces+stuart.yoder=freescale.com@
> > > ozlabs.org] On Behalf Of Kumar Gala
> > > > Sent: Friday, October 24, 2008 9:19 AM
> > > > To: devicetree-discuss
> > > > Subject: Re: generating a phandle w/libfdt?
> > > > 
> > > > 
> > > > On Oct 24, 2008, at 8:11 AM, Kumar Gala wrote:
> > > > 
> > > > > In some work I'm doing I noticed we don't have any APIs to 
> > > > generate  
> > > > > a phandle via libfdt.
> > > > >
> > > > > was wondering if anyone had ideas on this.
> > > > >
> > > > > In first thought it seems we have to scan through the 
> > whole blob  
> > > > > looking for the largest phandle id and than +1 it to 
> > generate the  
> > > > > next "valid" id.  Any other ideas on how to do this more 
> > > > efficiently?
> > > > 
> > > > The other question is there a way today to create a 
> > phandle even if  
> > > > there isn't a reference to it elsewhere in a .dts?
> > > 
> > > We had this issue and the 'hack' was to create a phandle property
> > > in the node itself, so it was self-referenced.  That caused DTC
> > > to allocate a phandle.   We then could reference the node from
> > > dynamically generated nodes.
> > 
> > That's nasty.  I should add a way to make dtc generate a phandle for a
> > node, even if it's not referenced from elsewhere.  Just need to think
> > of a decent syntax.
> 
> We could add a flag to DTC to generate phandles for all 
> nodes.

That's probably not a bad idea too, but it would still be nice to
explicitly tag nodes as wanting a phandle.

> Only downside I can see is an additional 4 bytes per node.

Well, 16 bytes, actually (property tag, name offset, length, phandle
value are 4 bytes each).

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson



More information about the devicetree-discuss mailing list