Thread (142 messages) 142 messages, 28 authors, 2013-08-14

DT bindings as ABI [was: Do we have people interested in device tree janitoring / cleanup?]

From: Rob Herring <hidden>
Date: 2013-07-26 22:11:36
Also in: lkml

On Thu, Jul 25, 2013 at 7:34 PM, Stephen Warren [off-list ref] wrote:
On 07/25/2013 01:16 PM, Rob Herring wrote:
quoted
On Thu, Jul 25, 2013 at 2:31 PM, Jason Cooper [off-list ref] wrote:
quoted
On Thu, Jul 25, 2013 at 02:11:31PM -0500, Rob Herring wrote:
quoted
On Thu, Jul 25, 2013 at 11:09 AM, Olof Johansson [off-list ref] wrote:
quoted
quoted
One problem that needs to be solved is obviously how a binding
graduates from tentative to locked. This work isn't going to be very
interesting to most people, I suspect. Think standards committee type
work.
I think a time based stabilization period would be better than a
separate directory to apply bindings too. Or time plus periodic review
perhaps.
The only problem with a time-based versus separate directory is how do
users who've downloaded the tree determine which bindings are stable?
If they pull a tarball, or receive an SDK, there is most likely no git
history attached.
Well, if time based includes moving the binding out of the kernel,
then that is what defines it as stable or not. I guess that is a form
of a separate directory. I don't think we want to be moving bindings
twice: tentative -> stable and kernel -> DT repo.

The policy could be as simple as an binding without change in at least
N kernel releases is moved out and stable.
That might not be quite the right criteria. Just because something
didn't change doesn't mean it's "correct" and that any problems in the
binding have been addressed. As one example, on Tegra, we have a few
bindings that haven't changed in a while, yet rely on custom properties
for describing which DMA channel to use, rather than using the
fairly-recently-introduced standard DMA DT properties (this particular
example is being rectified now, but I'm sure there are plenty of similar
examples)
In this case, I would suggest that both bindings are stable and the
conversion from one to the other is a platform decision. You could
make the kernel support both if you wanted. Or you know the platform
is not stable and are okay with having to keep dtb and kernel in sync.

I think this highlights the need to separate stable bindings and
stable dts files.

Rob
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help