From: maxime.ripard@free-electrons.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [Ksummit-2013-discuss] DT bindings as ABI [was: Do we have people interested in device tree janitoring / cleanup?]
Date: Tue, 30 Jul 2013 10:39:32 +0200 [thread overview]
Message-ID: <20130730083932.GE1441@lukather> (raw)
In-Reply-To: <CACxGe6sUFmLZMT+dvCbpmPrzR3DNMjw64LbD3n=JsjXsmrM-qg@mail.gmail.com>
On Mon, Jul 29, 2013 at 10:35:03PM -0600, Grant Likely wrote:
> >> User acquires a machine running ARM Linux version 3.x, with u-boot
> >> and dtb in a read only flash partition. The board boots and works just
> >> fine. However, for his application, the user requires a new kernel
> >> feature that appeared in version 3.y where y > x. He compiles the new
> >> kernel, and it also works.
> >
> > I'm afraid this kind of use case will never be properly supported, DT
> > stable ABI or not.
>
> Why? New kernel features should be no problem at all.
>
> New driver features /might/ not be available, but only if the new
> feature requires additional data that isn't present in the tree and
> cannot be obtained elsewhere.
>
> >
> > Think about this: what kernel will actually be shipped in that board?
> > Most likely, it will be a BSP kernel from the vendor. Does the vendor
> > will have made that commitment to have a stable ABI for the DT? Will it
> > use the same bindings than mainline? Do we want to support all the crazy
> > bindings every vendor will come up with?
>
> That's not a DT issue. That an out-of-tree board/SoC support issue. DT
> doesn't make that any better or worse.
Yet, with the DT switch, the two are bound together.
Before the DT, the only convention we had basically was that we had to
be loaded in memory and executed.
Now, the bootloader has to pass a complex data structure to the kernel.
If this data structure doesn't follow the same convention than we do, we
are screwed, and if we can't update either the bootloader or the DT that
is loaded by it, we end up screwed.
One example that comes to my mind right now is this one: we've been
arguing over spidev probing for quite some time. The easy solution would
be to add a "linux,spidev" compatible. Obviously, this has been ruled
out numerous time. Yet, in the beaglebone black out-of-tree kernel,
there is actually a patch that adds this compatible, that is later used
in the DTs.
These spidev part of the DTs will never work with vanilla. And if you
can't update the DT and want to use mainline, you'll never ever have the
same feature set.
That's of course just a small example, with not much impact on a system,
but that could be way worse.
But saying that vendors will follow the same convention we do is just
unrealistic. I mean, even us haven't be able to work out a stable ABI
for more than 2 years now, yet we should expect anyone else to do it?
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130730/9def5cff/attachment.sig>
next prev parent reply other threads:[~2013-07-30 8:39 UTC|newest]
Thread overview: 142+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-25 16:09 DT bindings as ABI [was: Do we have people interested in device tree janitoring / cleanup?] Olof Johansson
2013-07-25 17:57 ` Mark Rutland
2013-07-25 18:05 ` Stephen Warren
2013-07-25 18:25 ` Olof Johansson
2013-07-25 18:50 ` Stephen Warren
2013-07-25 19:30 ` [Ksummit-2013-discuss] " Mark Brown
2013-07-25 18:29 ` Mark Rutland
2013-07-25 18:48 ` Richard Cochran
2013-07-25 18:53 ` Stephen Warren
2013-07-25 21:41 ` Domenico Andreoli
2013-07-26 4:43 ` Richard Cochran
2013-07-25 21:37 ` Jason Gunthorpe
2013-07-26 4:54 ` Richard Cochran
2013-07-26 13:42 ` Rob Herring
2013-07-26 17:15 ` Jason Gunthorpe
2013-07-27 8:48 ` Richard Cochran
2013-07-27 10:40 ` [Ksummit-2013-discuss] " Mark Brown
2013-07-27 17:37 ` Richard Cochran
2013-07-27 17:57 ` David Lang
2013-07-27 18:17 ` Richard Cochran
2013-07-28 11:27 ` Mark Brown
2013-07-29 17:54 ` Jason Gunthorpe
2013-07-29 18:16 ` Russell King - ARM Linux
2013-07-29 18:40 ` Jason Gunthorpe
2013-07-27 8:53 ` Richard Cochran
2013-07-27 10:20 ` Tomasz Figa
2013-07-27 11:36 ` [Ksummit-2013-discuss] " Mark Brown
2013-07-27 18:07 ` Richard Cochran
2013-07-28 12:10 ` Mark Brown
2013-07-26 8:01 ` Richard Cochran
2013-07-26 9:42 ` [Ksummit-2013-discuss] " David Woodhouse
2013-07-26 13:09 ` Richard Cochran
2013-07-26 13:14 ` Russell King - ARM Linux
2013-07-27 15:28 ` David Gibson
2013-07-26 13:27 ` Jason Cooper
2013-07-26 13:38 ` Russell King - ARM Linux
2013-07-26 13:45 ` Jason Cooper
2013-07-26 13:50 ` David Woodhouse
2013-07-26 13:59 ` Jason Cooper
2013-07-26 13:41 ` David Woodhouse
2013-07-26 13:47 ` Jason Cooper
2013-07-26 14:14 ` jonsmirl at gmail.com
2013-07-26 14:16 ` David Woodhouse
2013-07-26 14:21 ` Russell King - ARM Linux
2013-07-26 14:39 ` jonsmirl at gmail.com
2013-07-26 14:40 ` Mark Brown
2013-07-29 15:32 ` Matt Porter
2013-07-27 15:19 ` David Gibson
2013-07-27 19:37 ` Grant Likely
2013-07-27 9:16 ` Ming Lei
2013-07-26 14:10 ` Mark Brown
2013-07-26 15:49 ` Olof Johansson
2013-07-26 16:36 ` Rob Herring
2013-07-27 4:57 ` Richard Cochran
2013-07-27 5:04 ` Richard Cochran
2013-07-27 9:51 ` Tomasz Figa
2013-07-27 10:24 ` Arend van Spriel
2013-07-27 10:34 ` Arend van Spriel
2013-07-27 11:09 ` Russell King - ARM Linux
2013-07-27 10:36 ` Tomasz Figa
2013-07-27 10:59 ` Arend van Spriel
2013-07-27 19:45 ` Grant Likely
2013-07-27 20:01 ` jonsmirl at gmail.com
2013-07-27 20:03 ` David Woodhouse
2013-07-27 20:25 ` Grant Likely
2013-07-28 3:28 ` Grant Likely
2013-07-28 5:11 ` James Bottomley
2013-07-28 5:13 ` Grant Likely
2013-07-30 1:44 ` David Gibson
2013-07-30 2:15 ` jonsmirl at gmail.com
2013-07-30 3:29 ` David Gibson
2013-07-30 4:35 ` Grant Likely
2013-07-30 8:39 ` Maxime Ripard [this message]
2013-07-30 16:30 ` Stephen Warren
2013-07-30 17:27 ` John W. Linville
2013-07-30 16:40 ` Stephen Warren
2013-07-29 9:19 ` Arend van Spriel
2013-07-29 10:16 ` Arend van Spriel
2013-07-27 18:31 ` Richard Cochran
2013-07-27 18:51 ` Tomasz Figa
2013-07-27 19:22 ` jonsmirl at gmail.com
2013-07-28 8:56 ` Richard Cochran
2013-07-28 9:12 ` Tomasz Figa
2013-07-28 13:19 ` Richard Cochran
2013-07-28 13:39 ` Tomasz Figa
2013-07-28 14:09 ` jonsmirl at gmail.com
2013-07-28 15:35 ` Richard Cochran
2013-07-28 15:50 ` jonsmirl at gmail.com
2013-07-28 17:41 ` Mark Brown
2013-07-28 21:46 ` David Gibson
2013-07-28 15:30 ` Richard Cochran
2013-07-29 7:31 ` Maxime Ripard
2013-07-29 18:38 ` Richard Cochran
2013-07-29 18:51 ` Richard Cochran
2013-07-29 18:05 ` Jason Gunthorpe
2013-07-29 18:27 ` Russell King - ARM Linux
2013-07-29 22:20 ` David Gibson
2013-07-29 23:14 ` Jason Gunthorpe
2013-07-29 23:49 ` David Gibson
2013-07-31 10:37 ` Maxime Bizon
2013-07-31 10:59 ` Tomasz Figa
2013-07-31 15:07 ` Richard Cochran
2013-07-31 15:23 ` Tomasz Figa
2013-07-31 19:12 ` Richard Cochran
2013-07-31 19:29 ` Tomasz Figa
2013-07-31 20:00 ` Richard Cochran
2013-07-31 20:14 ` Russell King - ARM Linux
2013-07-31 20:37 ` jonsmirl at gmail.com
2013-07-31 20:48 ` Russell King - ARM Linux
2013-07-31 21:26 ` jonsmirl at gmail.com
2013-08-01 9:57 ` Arend van Spriel
2013-08-01 10:09 ` Mark Brown
2013-08-01 10:18 ` David Woodhouse
2013-08-01 13:34 ` jonsmirl at gmail.com
2013-08-01 13:43 ` jonsmirl at gmail.com
2013-08-01 13:48 ` Rob Herring
2013-08-02 3:50 ` David Gibson
2013-08-13 23:32 ` H. Peter Anvin
2013-08-14 1:49 ` Guenter Roeck
2013-08-14 14:46 ` H. Peter Anvin
2013-08-02 8:49 ` Tony Lindgren
2013-07-29 15:45 ` Matt Porter
2013-07-31 12:58 ` Ian Campbell
2013-07-25 17:59 ` Stephen Warren
2013-07-25 19:11 ` Rob Herring
2013-07-25 19:31 ` Jason Cooper
2013-07-25 20:04 ` [Ksummit-2013-discuss] " Mark Brown
2013-07-25 20:08 ` Jason Cooper
2013-07-25 20:16 ` Rob Herring
2013-07-25 20:32 ` Jason Cooper
2013-07-25 21:53 ` [Ksummit-2013-discuss] " Ben Hutchings
2013-07-26 0:36 ` Stephen Warren
2013-07-26 12:14 ` Jason Cooper
2013-07-26 0:34 ` Stephen Warren
2013-07-26 22:11 ` Rob Herring
2013-07-25 23:18 ` Russell King - ARM Linux
2013-07-26 0:27 ` jonsmirl at gmail.com
2013-07-26 11:38 ` Jason Cooper
2013-07-26 14:08 ` [Ksummit-2013-discuss] " David Woodhouse
2013-07-26 13:57 ` Mark Brown
2013-07-26 10:55 ` Mark Brown
2013-07-28 4:39 ` Grant Likely
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130730083932.GE1441@lukather \
--to=maxime.ripard@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox