From: Dave.Martin@arm.com (Dave Martin)
To: linux-arm-kernel@lists.infradead.org
Subject: Defining schemas for Device Tree
Date: Thu, 1 Aug 2013 15:29:20 +0100 [thread overview]
Message-ID: <20130801142915.GA3006@localhost.localdomain> (raw)
In-Reply-To: <20130731185947.GB9858@sirena.org.uk>
On Wed, Jul 31, 2013 at 07:59:47PM +0100, Mark Brown wrote:
> On Wed, Jul 31, 2013 at 05:59:10PM +0100, Dave Martin wrote:
>
> > There may often be a conflict between making _good_ bindings, and making
> > bindings which are convenient for maintainers to edit in .dts syntax.
>
> > I think good bindings (in the sense of good ABI) must take precedence:
> > good bindings need to interoperate well over a long period of time, and
> > should be robust against future evolution of hardware platforms OSes. If
> > they look nice in the .dts file, that's a bonus -- but I don't think it
> > should be viewed as a requirement.
>
> While I take your point that we need to have a sane ABI I think you're
> understating the importance of the human factors here - the harder it is
> to reliably understand and edit the device trees the more likely it is
> that people will end up shipping mistakes which undermines the work on
> defining stable ABIs.
>
> > A pair of properties like dma-names/dmas may be a bit cumbersome, but
> > it can be precise, unambiguous, and simple and easy to parse and check.
> > The semantics can be extended in the future if necessary, by adding
> > additional companion properties. From my perspective, this can work as
> > a template for good bindings.
>
> I think this is fine for bindings but it's just not really legible for
> humans once the lists start growing. We need a human interaction format
> which is suitable for humans to work with, it's not good when people
> start finding that it's a set backwards in terms of their ability to
> work with their systems.
>
> > Someone trying to maintain a complex .dts can always make their own life
> > easier with a bit of scripting. After all, in a future of stable
> > bindings, a DT really shouldn't be changing much once it is complete.
> > I don't see a clear reason why these issues must be solved by dtc
> > itself.
>
> I don't think it's terribly important if they're solved in dtc itself so
> long as it's part of the standard tooling that everyone has access to.
> There's a reasonable number of new SoCs get made which tend to be the
> things that suffer most.
I agree with your points -- I just wanted to make the point that extensions
to .dts must be considered carefully, focusing on a few key features
that really are useful to everyone -- and with a commitment to support
and use those features.
If we start making ad-hoc extensions, I worry that there is a risk of
dtc forking -- has this issue been discussed? How do we avoid that
situation?
A fork in dtc and .dts might not be so bad a problem as a fork in the
FDT format or DT bindings themselves, but it still sounds best avoided.
A Linux- or ARM-specific dtc would be just as bad as vanilla dtc plus an
obscure preprocessing framework that only the Linux (or ARM) folks use.
If we agree that the only acceptable form for "object-like" properties is
the paired-property model and enforce/strongly encourage this policy
when reviewing new bindings, then it may be worth adding dedicated
syntax to dtc. We just shouldn't allow this tool to morph into dt-c++
unless we have a relly good reason.
Cheers
---Dave
next prev parent reply other threads:[~2013-08-01 14:29 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-29 0:21 Defining schemas for Device Tree Tomasz Figa
2013-07-29 1:30 ` jonsmirl at gmail.com
2013-07-29 8:27 ` David Woodhouse
2013-07-29 8:40 ` Tomasz Figa
2013-07-29 15:01 ` Jason Cooper
2013-07-29 16:49 ` Dave Martin
2013-07-29 17:11 ` Jason Gunthorpe
2013-07-29 17:23 ` [Ksummit-2013-discuss] " Jason Cooper
2013-07-29 17:29 ` Jason Gunthorpe
2013-07-29 19:48 ` Mark Brown
2013-07-29 22:29 ` David Gibson
2013-07-29 22:48 ` Jason Cooper
2013-07-29 23:45 ` David Gibson
2013-07-30 12:12 ` Jason Cooper
2013-07-30 0:41 ` David Lang
2013-07-30 0:49 ` jonsmirl at gmail.com
2013-07-30 1:50 ` David Gibson
2013-07-30 12:17 ` Jason Cooper
2013-07-29 18:15 ` Jason Gunthorpe
2013-07-29 22:26 ` Tomasz Figa
2013-07-29 21:47 ` Stephen Warren
2013-07-29 22:20 ` Tomasz Figa
2013-07-30 0:02 ` Stephen Warren
2013-07-29 22:23 ` jonsmirl at gmail.com
2013-07-29 22:45 ` Tomasz Figa
2013-07-30 0:30 ` jonsmirl at gmail.com
2013-07-30 10:25 ` Mark Brown
2013-07-30 13:14 ` jonsmirl at gmail.com
2013-07-30 17:19 ` Stephen Warren
2013-07-30 17:29 ` jonsmirl at gmail.com
2013-07-30 17:34 ` Stephen Warren
2013-07-30 17:45 ` jonsmirl at gmail.com
2013-07-30 17:49 ` Stephen Warren
2013-07-30 18:03 ` jonsmirl at gmail.com
2013-07-30 18:04 ` jonsmirl at gmail.com
2013-07-30 18:25 ` Stephen Warren
2013-07-30 18:28 ` jonsmirl at gmail.com
2013-07-31 7:01 ` Tony Lindgren
2013-08-01 20:04 ` Matt Sealey
2013-07-30 18:26 ` jonsmirl at gmail.com
2013-07-30 20:57 ` Mark Brown
2013-07-30 22:19 ` jonsmirl at gmail.com
2013-07-30 23:03 ` Mark Brown
2013-07-30 23:23 ` jonsmirl at gmail.com
2013-07-31 11:34 ` Mark Brown
2013-07-31 12:01 ` jonsmirl at gmail.com
2013-07-31 12:21 ` Tomasz Figa
2013-07-31 16:29 ` [Ksummit-2013-discuss] " Thomas Petazzoni
2013-07-31 16:41 ` Sascha Hauer
2013-07-31 16:59 ` Dave Martin
2013-07-31 18:59 ` Mark Brown
2013-08-01 14:29 ` Dave Martin [this message]
2013-07-31 19:57 ` Stephen Warren
2013-07-31 20:47 ` Stephen Warren
2013-07-31 23:04 ` Tomasz Figa
2013-07-30 22:16 ` Tomasz Figa
2013-07-30 22:26 ` Stephen Warren
2013-07-30 22:27 ` jonsmirl at gmail.com
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=20130801142915.GA3006@localhost.localdomain \
--to=dave.martin@arm.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;
as well as URLs for NNTP newsgroup(s).