generating a phandle w/libfdt?

Kumar Gala galak at kernel.crashing.org
Tue Oct 28 01:16:16 EST 2008


On Oct 24, 2008, at 10:15 AM, Jimi Xenidis wrote:

>
> On Oct 24, 2008, at 9:18 AM, Kumar Gala wrote:
>
>>
>> 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?
>>
>
> Well, then by definition, it is not a phandle, right?
> If nothing references it then I'm not sure how you can reconcile the  
> number when some SW layer builds the next version of it to pass on up.
>
> It sounds like you need a separate numerical space.
>
> Just a shot in that dark to see if your actual problem is similar...
>
> I'm expecting us to hit something like this _hard_ when we try to  
> fit runtime FW into ePAPR, like IBM's RTAS layer, where the devtree  
> can go through several generations but we need to hang on to the  
> _original_ phandle for a node from the time that the RTAS was  
> instantiated.  In server we use "ibm,phandle" for this.

Its more because I need firmware to do some fixups after the fact that  
need phandles.  Its a bit of a pain to "generate" phandles on the fly.

- k



More information about the devicetree-discuss mailing list