[Ksummit-2013-discuss] [ATTEND] Handling of devicetree bindings

Linus Walleij linus.walleij at linaro.org
Sun Jul 21 02:16:32 EST 2013


On Mon, Jul 15, 2013 at 8:50 PM, David Woodhouse <dwmw2 at infradead.org> wrote:

> I've heard tales of people having to keep device-tree files for their
> board tightly in sync with the specific *version* of the Linux kernel
> that they were shipped with.
>
> That makes me very sad, because it almost certainly means that someone
> has done it completely and utterly wrong.

This paradigm creep up in ideas like the FIT image at this
years ELC:
http://events.linuxfoundation.org/images/stories/slides/elc2013_fernandes.pdf

Surely, most complex mobile systems (such as mobile handsets) are
flashed with some custom-brew composite images, FIT seems to want
to start to standardize that.

However the dangerous stuff is not this tool even, it happens on the
build systems: multiple things are compiled together and stuffed into
an image, the device tree and kernel is always recompiled at every
image composition. Everything is versioned in sync.

This means that most embedded companies have a build system
where it is possible for system integrators to alter kernel code and
device trees at the same time.

I think their mental model is that of assembling a fridge or a car or
something - you take this bolt and it fits with that nut, and it's OK if
it only fits on just this one model of the end product.

Changing that way of thinking goes well outside the kernel community
I'm afraid, one way would be if device trees had conformance tests
such as is done for ACPI (or USB, or whatever) meaning it will at
some point arrive at a final, definitive form, and you're not allowed to
alter bindings etc at that point. And given all bindings are available
this can be done early on in the hardware projects.

I think a group of volunteers are up to move in this direction.

Needless to say, doing it the slow way threatens to slow down the
deployment phase and lead to Gantt-effects in projects. Which I
guess is why these companies really like the idea of tying in the
device tree with the kernel.

Or to put it another way: I think this is caused by embedded
companies constantly having one finger pressing the fast-forward
button.

Yours,
Linus Walleij


More information about the devicetree-discuss mailing list