Re: [PATCH] Open Firmware device tree virtual filesystem

From: Segher Boessenkool
Date: Tue Jan 02 2007 - 19:35:40 EST


Leaving aside the issue of in-memory or not, I don't think
it is realistic to think any completely common implementation
will work for this -- it might for current SPARC+PowerPC+OLPC,
but more stuff will be added over time...

And ? I don't see why a mostly common implementations wouldn't work,
provided that we provide hooks in the right place.

Now read back and see that that is very close to what I said.

It's pretty clear to me that the actual construction of the in-memory
tree will remain platform specific (powerpc has this flattened format
used for the trampoline for example and so far, I don't think other
platforms plan to use it, though it might be a good idea too :-) sparc
has "issues" related to firmwares that aren't quite OF, etc...)

But it's also clear that the in-kernel representation, accessors and
filesystem could/should be totally identical, including all we build on
top, like prom_parse, of_device/of_platform device stuff etc.. (for
which I need to re-sync with davem too btw, as he did some fixes that I
didn't backport to powerpc... sigh)

The biggest problem is the huge collection of workarounds we have
for PowerPC alone already -- if that can be moved into some
quirk collection thing, where certain quirks are only run on some
systems, it might scale.

You'll also have to deal with endianness finally (you can *not*
access an integer property via an int*).

It will be easiest to start with a biggish collection of hooks,
that doesn't require too much code change, and slowly converge
stuff.

The other -one- thing that has to be different is the write back for
properties that can be changed (/options typically) where the write back
mecanism is definitely platform specific.

All properties can be changed, any new property can be created.
Oh you mean after you killed OF -- yeah, it gets a bit harder
then eh :-)


Segher

-
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/