Re: [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of

From: Grant Likely
Date: Wed Jun 30 2010 - 17:53:17 EST


On Tue, Jun 29, 2010 at 5:36 PM, Andres Salomon <dilinger@xxxxxxxxxx> wrote:
> On Tue, 29 Jun 2010 15:42:54 -0600
> Grant Likely <grant.likely@xxxxxxxxxxxx> wrote:
>
>> On Tue, Jun 29, 2010 at 9:03 AM, Andres Salomon <dilinger@xxxxxxxxxx>
>> wrote:
> [...]
>>
>> >  Sparc and OLPC have very similar
>> > mechanisms for getting device tree info from OFW, so it makes sense
>> > to share code between them.
>>
>> Other than the flattened tree step; is the powerpc method dissimilar
>> from the Sparc and OLPC method for talking to OFW?  (This is not a
>> rhetorical question, I'm want to know if I'm missing some details).
>> The main difference I know about is that OFW can still kept alive at
>> runtime for sparc, which powerpc does not do.  However, keeping OFW
>> callable is a separate issue from how to extract the device tree.
>>
>
> After having a look at powerpc's flatten_device_tree, I don't see any
> obvious reason why OLPC couldn't use this

Okay.

>(though it still strikes me
> as weird to go from prom->fdt->dt when the option of prom->dt is
> available and less complex).

Which is why I didn't simply NACK it out of hand. It is a valid point.

I'd probably be happier if both fdt and pdt used a shared set of
utility functions for allocating and tying together the device_node
data structures. Then at least there would be only one instance of
code to deal with the fiddly data structure interconnections.

The nice thing about the powerpc version is that the tree can be
extracted really early in the boot process, before any of the core
kernel infrastructure or memory management is initialized.

> Do you already have the patches that put
> this into drivers/of/?

No.

g.

--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/