Subject: Re: [PATCH 15/16] Add device tree for Ebony

From: Segher Boessenkool <[email-masked]>
Date: Fri, 16 Feb 2007 10:41:58 +0100

>>> We don't require an OF device tree;
>>
>> When booting on real OF you do.
>
> No, the kernel requires a flattened tree, which is created by glue
> code from the OF device tree.

Heh.  And you really think that "glue code" will ever not
be linked into the zImage, and distributed with the kernel
code?

> Currently everything in the OF tree
> goes across into the flattened tree, but in future there may not be a
> 1-1 correspondence.

Which would be a mistake IMNSHO.  Sure you want to do some
fixups on broken things in some trees, but that's all.

Or perhaps you mean you would morph the tree into some
completely different format?  That would be fine, just
make sure it is obvious it is something different.

>> Sure.  You could have chosen a structure that is closer to the
>> internal Linux structures.
>
> What internal Linux structures?

The Linux device abstractions, for example.

> In any case it's a mistake to tie
> internal and external structures together because it creates future
> compatibility headaches.

You don't have to tell _me_ that.

>>> That it looks strangely familiar to you is just a
>>> coincidence. :)
>>
>> Heh suuuuuuuure :-)
>
> The device tree is basically a generalization of the list of tags +
> values that ppc and other architectures use.

Yeah whatever.  It is a *complete* accident that it is
virtually identical to OF.  I believe you.

> The tags are strings
> rather than numbers, because that makes sense, and you can group sets
> of tags + values that relate to a particular device together, and you
> can link devices together in a hierarchical arrangement.

Not just "you can", you *must*.  The way they are connected
has a lot of meaning.  Remove that and everything starts
falling apart.

> The last thing I want to do is to put unnecessary burdens on embedded
> platforms just to comply with OF requirements.

Then you should define a simpler format that hopefully can
handle everything that OF can.  Maybe you can do a better
job if you really think OF is overly complicated.

> We have the device
> tree because it makes sense both for embedded and for desktop/server
> machines, not because OF is some sort of holy writ.

Whatever interface definition you do create, it will be "holy
writ".  Since almost nothing is written down (complete enough
and without major errors and inconsistencies) elsewhere, there
is no other choice right now than to fall back to the OF specs.

Segher