All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: David Gibson <david@gibson.dropbear.id.au>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>,
	Grant Likely <grant.likely@secretlab.ca>,
	"jonsmirl@gmail.com" <jonsmirl@gmail.com>,
	Mark Rutland <mark.rutland@arm.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"ksummit-2013-discuss@lists.linuxfoundation.org" 
	<ksummit-2013-discuss@lists.linuxfoundation.org>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Ian Campbell <ian.campbell@citrix.com>,
	Pawel Moll <Pawel.Moll@arm.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Richard Cochran <richardcochran@gmail.com>,
	Tomasz Figa <tomasz.figa@gmail.com>,
	"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
	Domenico Andreoli <cavokz@gmail.com>,
	Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Dave P Martin <Dave.Martin@arm.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [Ksummit-2013-discuss] DT bindings as ABI [was: Do we have people interested in device tree janitoring / cleanup?]
Date: Tue, 30 Jul 2013 10:40:36 -0600	[thread overview]
Message-ID: <51F7EC84.90005@wwwdotorg.org> (raw)
In-Reply-To: <20130730014453.GJ29970@voom.fritz.box>

On 07/29/2013 07:44 PM, David Gibson wrote:
...
> So, by way of investigation, let me propose an alternative
> expression of schemas, that I'm also not convinced we should do,
> but is possible and expressive.  It's illustrative, because it's
> kind of the polar opposite approach to XSD: just use C.

That actually sounds reasonable.

But, I think there's a difference between a schema, which defines
what's legal in an abstract fashion, and a validator, which defines
that the data conforms to the schema.

I can see that codding a validator in C would be pretty easy, and even
potentially quite simple/clean given a suitable set of library
functions as you say.

However, I'm not so convinced that expressing the schema itself as C
would work out so well. I think the code/data-structures would end up
being pretty stylized so they could actually be read as a schema. At
that point, a specific schema language would probably be simpler? Of
course, this is all somewhat conjecture; perhaps the only way to tell
would be to prototype various ideas and see how well they work.

Equally, I'm not sure I want to bind the schema definition to a
particular language. I'd like to be able to programatically generate
or manipulate *.dts files in arbitrary languages. Integrating a C
interpreter into those languages in order to handle the schema would
be annoying, whereas directly handling a special-purpose schema
language seems like it'd be more tangible.

As an aside, in the past I toyed with the idea of using Python data
structures as a *.dts syntax, and hence allowing
macros/auto-generation using custom Python code, and I'm sure Forth
will come up sometime in this thread:-)

WARNING: multiple messages have this Message-ID (diff)
From: swarren@wwwdotorg.org (Stephen Warren)
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:40:36 -0600	[thread overview]
Message-ID: <51F7EC84.90005@wwwdotorg.org> (raw)
In-Reply-To: <20130730014453.GJ29970@voom.fritz.box>

On 07/29/2013 07:44 PM, David Gibson wrote:
...
> So, by way of investigation, let me propose an alternative
> expression of schemas, that I'm also not convinced we should do,
> but is possible and expressive.  It's illustrative, because it's
> kind of the polar opposite approach to XSD: just use C.

That actually sounds reasonable.

But, I think there's a difference between a schema, which defines
what's legal in an abstract fashion, and a validator, which defines
that the data conforms to the schema.

I can see that codding a validator in C would be pretty easy, and even
potentially quite simple/clean given a suitable set of library
functions as you say.

However, I'm not so convinced that expressing the schema itself as C
would work out so well. I think the code/data-structures would end up
being pretty stylized so they could actually be read as a schema. At
that point, a specific schema language would probably be simpler? Of
course, this is all somewhat conjecture; perhaps the only way to tell
would be to prototype various ideas and see how well they work.

Equally, I'm not sure I want to bind the schema definition to a
particular language. I'd like to be able to programatically generate
or manipulate *.dts files in arbitrary languages. Integrating a C
interpreter into those languages in order to handle the schema would
be annoying, whereas directly handling a special-purpose schema
language seems like it'd be more tangible.

As an aside, in the past I toyed with the idea of using Python data
structures as a *.dts syntax, and hence allowing
macros/auto-generation using custom Python code, and I'm sure Forth
will come up sometime in this thread:-)

  parent reply	other threads:[~2013-07-30 16:40 UTC|newest]

Thread overview: 284+ 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 16:09 ` Olof Johansson
2013-07-25 17:57 ` Mark Rutland
2013-07-25 17:57   ` Mark Rutland
2013-07-25 18:05   ` Stephen Warren
2013-07-25 18:05     ` Stephen Warren
2013-07-25 18:25     ` Olof Johansson
2013-07-25 18:25       ` Olof Johansson
2013-07-25 18:50       ` Stephen Warren
2013-07-25 18:50         ` Stephen Warren
2013-07-25 19:30       ` [Ksummit-2013-discuss] " Mark Brown
2013-07-25 19:30         ` Mark Brown
2013-07-25 18:29     ` Mark Rutland
2013-07-25 18:29       ` Mark Rutland
2013-07-25 18:48       ` Richard Cochran
2013-07-25 18:48         ` Richard Cochran
2013-07-25 18:53         ` Stephen Warren
2013-07-25 18:53           ` Stephen Warren
2013-07-25 21:41           ` Domenico Andreoli
2013-07-25 21:41             ` Domenico Andreoli
2013-07-26  4:43           ` Richard Cochran
2013-07-26  4:43             ` Richard Cochran
2013-07-25 21:37         ` Jason Gunthorpe
2013-07-25 21:37           ` Jason Gunthorpe
2013-07-26  4:54           ` Richard Cochran
2013-07-26  4:54             ` Richard Cochran
2013-07-26 13:42             ` Rob Herring
2013-07-26 13:42               ` Rob Herring
2013-07-26 17:15             ` Jason Gunthorpe
2013-07-26 17:15               ` Jason Gunthorpe
2013-07-27  8:48               ` Richard Cochran
2013-07-27  8:48                 ` Richard Cochran
2013-07-27 10:40                 ` [Ksummit-2013-discuss] " Mark Brown
2013-07-27 10:40                   ` Mark Brown
2013-07-27 17:37                   ` Richard Cochran
2013-07-27 17:37                     ` Richard Cochran
2013-07-27 17:57                     ` David Lang
2013-07-27 17:57                       ` David Lang
2013-07-27 18:17                       ` Richard Cochran
2013-07-27 18:17                         ` Richard Cochran
2013-07-28 11:27                     ` Mark Brown
2013-07-28 11:27                       ` Mark Brown
2013-07-29 17:54                 ` Jason Gunthorpe
2013-07-29 17:54                   ` Jason Gunthorpe
2013-07-29 18:16                   ` Russell King - ARM Linux
2013-07-29 18:16                     ` Russell King - ARM Linux
2013-07-29 18:40                     ` Jason Gunthorpe
2013-07-29 18:40                       ` Jason Gunthorpe
2013-07-27  8:53               ` Richard Cochran
2013-07-27  8:53                 ` Richard Cochran
2013-07-27 10:20                 ` Tomasz Figa
2013-07-27 10:20                   ` Tomasz Figa
2013-07-27 11:36                 ` [Ksummit-2013-discuss] " Mark Brown
2013-07-27 11:36                   ` Mark Brown
2013-07-27 18:07                   ` Richard Cochran
2013-07-27 18:07                     ` Richard Cochran
2013-07-28 12:10                     ` Mark Brown
2013-07-28 12:10                       ` Mark Brown
2013-07-26  8:01           ` Richard Cochran
2013-07-26  8:01             ` Richard Cochran
2013-07-26  9:42             ` [Ksummit-2013-discuss] " David Woodhouse
2013-07-26  9:42               ` David Woodhouse
2013-07-26 13:09               ` Richard Cochran
2013-07-26 13:09                 ` Richard Cochran
2013-07-26 13:14                 ` Russell King - ARM Linux
2013-07-26 13:14                   ` Russell King - ARM Linux
2013-07-27 15:28                   ` David Gibson
2013-07-27 15:28                     ` David Gibson
2013-07-26 13:27                 ` Jason Cooper
2013-07-26 13:27                   ` Jason Cooper
2013-07-26 13:38                   ` Russell King - ARM Linux
2013-07-26 13:38                     ` Russell King - ARM Linux
2013-07-26 13:45                     ` Jason Cooper
2013-07-26 13:45                       ` Jason Cooper
2013-07-26 13:50                       ` David Woodhouse
2013-07-26 13:50                         ` David Woodhouse
2013-07-26 13:59                         ` Jason Cooper
2013-07-26 13:59                           ` Jason Cooper
2013-07-26 13:41                   ` David Woodhouse
2013-07-26 13:41                     ` David Woodhouse
2013-07-26 13:47                     ` Jason Cooper
2013-07-26 13:47                       ` Jason Cooper
2013-07-26 14:14                     ` jonsmirl
2013-07-26 14:14                       ` jonsmirl at gmail.com
2013-07-26 14:16                       ` David Woodhouse
2013-07-26 14:16                         ` David Woodhouse
2013-07-26 14:21                       ` Russell King - ARM Linux
2013-07-26 14:21                         ` Russell King - ARM Linux
2013-07-26 14:39                         ` jonsmirl
2013-07-26 14:39                           ` jonsmirl at gmail.com
2013-07-26 14:40                         ` Mark Brown
2013-07-26 14:40                           ` Mark Brown
2013-07-29 15:32                           ` Matt Porter
2013-07-29 15:32                             ` Matt Porter
2013-07-27 15:19                         ` David Gibson
2013-07-27 15:19                           ` David Gibson
2013-07-27 19:37                         ` Grant Likely
2013-07-27 19:37                           ` Grant Likely
2013-07-27  9:16                       ` Ming Lei
2013-07-27  9:16                         ` Ming Lei
2013-07-26 14:10                 ` Mark Brown
2013-07-26 14:10                   ` Mark Brown
2013-07-26 15:49                   ` Olof Johansson
2013-07-26 15:49                     ` Olof Johansson
2013-07-26 16:36                     ` Rob Herring
2013-07-26 16:36                       ` Rob Herring
2013-07-27  4:57                       ` Richard Cochran
2013-07-27  4:57                         ` Richard Cochran
2013-07-27  5:04                     ` Richard Cochran
2013-07-27  5:04                       ` Richard Cochran
2013-07-27  9:51                       ` Tomasz Figa
2013-07-27  9:51                         ` Tomasz Figa
2013-07-27 10:24                         ` Arend van Spriel
2013-07-27 10:24                           ` Arend van Spriel
2013-07-27 10:34                           ` Arend van Spriel
2013-07-27 10:34                             ` Arend van Spriel
2013-07-27 11:09                             ` Russell King - ARM Linux
2013-07-27 11:09                               ` Russell King - ARM Linux
2013-07-27 10:36                           ` Tomasz Figa
2013-07-27 10:36                             ` Tomasz Figa
2013-07-27 10:59                             ` Arend van Spriel
2013-07-27 10:59                               ` Arend van Spriel
2013-07-27 19:45                               ` Grant Likely
2013-07-27 19:45                                 ` Grant Likely
2013-07-27 20:01                                 ` jonsmirl
2013-07-27 20:01                                   ` jonsmirl at gmail.com
2013-07-27 20:03                                   ` David Woodhouse
2013-07-27 20:03                                     ` David Woodhouse
2013-07-27 20:25                                   ` Grant Likely
2013-07-27 20:25                                     ` Grant Likely
2013-07-28  3:28                                     ` Grant Likely
2013-07-28  3:28                                       ` Grant Likely
2013-07-28  5:11                                       ` James Bottomley
2013-07-28  5:11                                         ` James Bottomley
2013-07-28  5:13                                         ` Grant Likely
2013-07-28  5:13                                           ` Grant Likely
2013-07-30  1:44                                         ` David Gibson
2013-07-30  1:44                                           ` David Gibson
2013-07-30  2:15                                           ` jonsmirl
2013-07-30  2:15                                             ` jonsmirl at gmail.com
2013-07-30  3:29                                             ` David Gibson
2013-07-30  3:29                                               ` David Gibson
2013-07-30  4:35                                               ` Grant Likely
2013-07-30  4:35                                                 ` Grant Likely
2013-07-30  8:39                                                 ` Maxime Ripard
2013-07-30  8:39                                                   ` Maxime Ripard
2013-07-30 16:30                                             ` Stephen Warren
2013-07-30 16:30                                               ` Stephen Warren
2013-07-30 17:27                                               ` John W. Linville
2013-07-30 17:27                                                 ` John W. Linville
2013-07-30 16:40                                           ` Stephen Warren [this message]
2013-07-30 16:40                                             ` Stephen Warren
2013-07-29  9:19                                   ` Arend van Spriel
2013-07-29  9:19                                     ` Arend van Spriel
2013-07-29 10:16                                     ` Arend van Spriel
2013-07-29 10:16                                       ` Arend van Spriel
2013-07-27 18:31                           ` Richard Cochran
2013-07-27 18:31                             ` Richard Cochran
2013-07-27 18:51                             ` Tomasz Figa
2013-07-27 18:51                               ` Tomasz Figa
2013-07-27 19:22                               ` jonsmirl
2013-07-27 19:22                                 ` jonsmirl at gmail.com
2013-07-28  8:56                               ` Richard Cochran
2013-07-28  8:56                                 ` Richard Cochran
2013-07-28  9:12                                 ` Tomasz Figa
2013-07-28  9:12                                   ` Tomasz Figa
2013-07-28 13:19                                   ` Richard Cochran
2013-07-28 13:19                                     ` Richard Cochran
2013-07-28 13:39                                     ` Tomasz Figa
2013-07-28 13:39                                       ` Tomasz Figa
2013-07-28 14:09                                       ` jonsmirl
2013-07-28 14:09                                         ` jonsmirl at gmail.com
2013-07-28 15:35                                         ` Richard Cochran
2013-07-28 15:35                                           ` Richard Cochran
2013-07-28 15:50                                           ` jonsmirl
2013-07-28 15:50                                             ` jonsmirl at gmail.com
2013-07-28 17:41                                             ` Mark Brown
2013-07-28 17:41                                               ` Mark Brown
2013-07-28 21:46                                           ` David Gibson
2013-07-28 21:46                                             ` David Gibson
2013-07-28 15:30                                       ` Richard Cochran
2013-07-28 15:30                                         ` Richard Cochran
2013-07-29  7:31                                     ` Maxime Ripard
2013-07-29  7:31                                       ` Maxime Ripard
2013-07-29 18:38                                       ` Richard Cochran
2013-07-29 18:38                                         ` Richard Cochran
2013-07-29 18:51                                         ` Richard Cochran
2013-07-29 18:51                                           ` Richard Cochran
2013-07-29 18:05                               ` Jason Gunthorpe
2013-07-29 18:05                                 ` Jason Gunthorpe
2013-07-29 18:27                                 ` Russell King - ARM Linux
2013-07-29 18:27                                   ` Russell King - ARM Linux
2013-07-29 22:20                                 ` David Gibson
2013-07-29 22:20                                   ` David Gibson
2013-07-29 23:14                                   ` Jason Gunthorpe
2013-07-29 23:14                                     ` Jason Gunthorpe
2013-07-29 23:49                                     ` David Gibson
2013-07-29 23:49                                       ` David Gibson
2013-07-31 10:37                               ` Maxime Bizon
2013-07-31 10:37                                 ` Maxime Bizon
2013-07-31 10:59                                 ` Tomasz Figa
2013-07-31 10:59                                   ` Tomasz Figa
2013-07-31 15:07                                   ` Richard Cochran
2013-07-31 15:07                                     ` Richard Cochran
2013-07-31 15:23                                     ` Tomasz Figa
2013-07-31 15:23                                       ` Tomasz Figa
2013-07-31 19:12                                       ` Richard Cochran
2013-07-31 19:12                                         ` Richard Cochran
2013-07-31 19:29                                         ` Tomasz Figa
2013-07-31 19:29                                           ` Tomasz Figa
2013-07-31 20:00                                           ` Richard Cochran
2013-07-31 20:00                                             ` Richard Cochran
2013-07-31 20:14                                             ` Russell King - ARM Linux
2013-07-31 20:14                                               ` Russell King - ARM Linux
2013-07-31 20:37                                               ` jonsmirl
2013-07-31 20:37                                                 ` jonsmirl at gmail.com
2013-07-31 20:48                                                 ` Russell King - ARM Linux
2013-07-31 20:48                                                   ` Russell King - ARM Linux
2013-07-31 21:26                                                   ` jonsmirl
2013-07-31 21:26                                                     ` jonsmirl at gmail.com
2013-08-01  9:57                                                     ` Arend van Spriel
2013-08-01  9:57                                                       ` Arend van Spriel
2013-08-01 10:09                                                       ` Mark Brown
2013-08-01 10:09                                                         ` Mark Brown
2013-08-01 10:18                                                     ` David Woodhouse
2013-08-01 10:18                                                       ` David Woodhouse
2013-08-01 13:34                                                       ` jonsmirl
2013-08-01 13:34                                                         ` jonsmirl at gmail.com
2013-08-01 13:43                                                         ` jonsmirl
2013-08-01 13:43                                                           ` jonsmirl at gmail.com
2013-08-01 13:48                                                       ` Rob Herring
2013-08-01 13:48                                                         ` Rob Herring
2013-08-02  3:50                                                     ` David Gibson
2013-08-02  3:50                                                       ` David Gibson
2013-08-13 23:32                                                       ` H. Peter Anvin
2013-08-13 23:32                                                         ` H. Peter Anvin
2013-08-14  1:49                                                         ` Guenter Roeck
2013-08-14  1:49                                                           ` Guenter Roeck
2013-08-14 14:46                                                           ` H. Peter Anvin
2013-08-14 14:46                                                             ` H. Peter Anvin
2013-08-02  8:49                                               ` Tony Lindgren
2013-08-02  8:49                                                 ` Tony Lindgren
2013-07-29 15:45                     ` Matt Porter
2013-07-29 15:45                       ` Matt Porter
2013-07-31 12:58   ` Ian Campbell
2013-07-31 12:58     ` Ian Campbell
2013-07-25 17:59 ` Stephen Warren
2013-07-25 17:59   ` Stephen Warren
2013-07-25 19:11 ` Rob Herring
2013-07-25 19:11   ` Rob Herring
2013-07-25 19:31   ` Jason Cooper
2013-07-25 19:31     ` Jason Cooper
2013-07-25 20:04     ` [Ksummit-2013-discuss] " Mark Brown
2013-07-25 20:04       ` Mark Brown
2013-07-25 20:08       ` Jason Cooper
2013-07-25 20:08         ` Jason Cooper
2013-07-25 20:16     ` Rob Herring
2013-07-25 20:16       ` Rob Herring
2013-07-25 20:32       ` Jason Cooper
2013-07-25 20:32         ` Jason Cooper
2013-07-25 21:53         ` [Ksummit-2013-discuss] " Ben Hutchings
2013-07-25 21:53           ` Ben Hutchings
2013-07-26  0:36           ` Stephen Warren
2013-07-26  0:36             ` Stephen Warren
2013-07-26 12:14           ` Jason Cooper
2013-07-26 12:14             ` Jason Cooper
2013-07-26  0:34       ` Stephen Warren
2013-07-26  0:34         ` Stephen Warren
2013-07-26 22:11         ` Rob Herring
2013-07-26 22:11           ` Rob Herring
2013-07-25 23:18     ` Russell King - ARM Linux
2013-07-25 23:18       ` Russell King - ARM Linux
2013-07-26  0:27       ` jonsmirl
2013-07-26  0:27         ` jonsmirl at gmail.com
2013-07-26 11:38         ` Jason Cooper
2013-07-26 11:38           ` Jason Cooper
2013-07-26 14:08           ` [Ksummit-2013-discuss] " David Woodhouse
2013-07-26 14:08             ` David Woodhouse
2013-07-26 13:57       ` Mark Brown
2013-07-26 13:57         ` Mark Brown
2013-07-26 10:55   ` Mark Brown
2013-07-26 10:55     ` Mark Brown
2013-07-28  4:39 ` Grant Likely
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=51F7EC84.90005@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=Dave.Martin@arm.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=Pawel.Moll@arm.com \
    --cc=cavokz@gmail.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=devicetree@vger.kernel.org \
    --cc=grant.likely@secretlab.ca \
    --cc=ian.campbell@citrix.com \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=jonsmirl@gmail.com \
    --cc=ksummit-2013-discuss@lists.linuxfoundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=richardcochran@gmail.com \
    --cc=rob.herring@calxeda.com \
    --cc=tomasz.figa@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.