devicetree-spec.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
To: Frank Rowand <frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: "devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [DTSpec PATCH v2] Add items to Devicetree Source Format chapter
Date: Wed, 8 Jun 2016 09:50:13 +1000	[thread overview]
Message-ID: <20160607235013.GP9226@voom.fritz.box> (raw)
In-Reply-To: <57573377.4010001-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 4237 bytes --]

On Tue, Jun 07, 2016 at 01:49:59PM -0700, Frank Rowand wrote:
> From: Frank Rowand <frank.rowand-mEdOJwZ7QcZBDgjK7y7TUQ@public.gmane.org>
> 
> Add items to Devicetree Source Format chapter
> 
> - Add naming convention for DTS files and DTS include files
> - Add /include/ compiler directive
> - Add ";" to end of node definition
> - Add /delete-node/ and /delete-property/
> - Add arithmetic, bitwise, logical, and ternary expressions
> 
> Note that cpp directives are not included in this patch, and
> are not yet specified in this appendix.
> 
> Signed-off-by: Frank Rowand <frank.rowand-mEdOJwZ7QcZBDgjK7y7TUQ@public.gmane.org>
> ---
> 
> changes in v2
>   - arithmetic operators "and", "or" were incorrectly listed as as bitwise
>   - thus bitwise operators "and", "or" were incorrectly shown
>   - "exclusive or" operator added
>   - logical and arithmetic "not" operators added
>   - ternary operator added
>   - moved shift operators from arithmetic to bitwise
> 
> 
>  source/source-language.rst |   70 ++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 69 insertions(+), 1 deletion(-)
> 
> Index: b/source/source-language.rst
> ===================================================================
> --- a/source/source-language.rst
> +++ b/source/source-language.rst
> @@ -9,6 +9,19 @@ devicetree in the form expected by the k
>  not a formal syntax definition of DTS, but describes the basic
>  constructs used to represent devicetrees.
>  
> +The name of DTS files should end with ".dts".
> +
> +Compiler directives
> +-------------------
> +
> +Other source files can be included from a DTS file.  The name of include
> +files should end with ".dtsi".  Included files can in turn include
> +additional files.
> +
> +::
> +
> +    /include/ "FILE"
> +
>  Node and property definitions
>  -----------------------------
>  
> @@ -21,11 +34,18 @@ preceded by a label.
>      [label:] node-name[@unit-address] {
>          [properties definitions]
>          [child nodes]
> -    }
> +    };
>  
>  Nodes may contain property definitions and/or child node definitions. If
>  both are present, properties shall come before child nodes.
>  
> +Previously defined nodes may be deleted.
> +
> +::
> +
> +    /delete-node/ node-name;
> +    /delete-node/ &label;
> +
>  Property definitions are name value pairs in the form:
>  
>  ::
> @@ -39,6 +59,12 @@ form:
>  
>          [label:] property-name;
>  
> +Previously defined properties may be deleted.
> +
> +::
> +
> +    /delete-property/ property-name;
> +
>  Property values may be defined as an array of 32-bit integer cells, as
>  null-terminated strings, as bytestrings or a combination of these.
>  
> @@ -48,6 +74,48 @@ null-terminated strings, as bytestrings
>  ::
>  
>          interrupts = <17 0xc>;
> +-  values may be represented as arithmetic, bitwise, or logical expressions
> +   within parenthesis.
> +
> +::
> +
> +    Arithmetic operators
> +
> +    +   add
> +    -   subtract
> +    *   multiply
> +    /   divide
> +
> +::
> +
> +    Bitwise operators
> +
> +    &    and
> +    |    or
> +    ^    exclusive or
> +    ~    not
> +    <<  left shift
> +    >>  right shift
> +
> +::
> +
> +    Logical operators
> +
> +    <    less than
> +    >    greater than
> +    <=   less than or equal
> +    >=   greater than or equal
> +    ==   equal
> +    !=   not equal
> +    &&   and
> +    ||   or
> +    !    not

Fwiw, I think &&, || and ! usually get classified as "logical
operators" but <, > etc. get classified as "relational operators"
rather than putting them in the same category.

Hrm.. given that you're listing them all here, I wonder if it would
make sense to do so in precedence order (should be the same as for C).

> +::
> +
> +    Ternary operators
> +
> +    ?:   (condition ? value_if_true : value_if_false)
>  
>  -  A 64-bit value is represented with two 32-bit cells. Example:
>  
> 

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  parent reply	other threads:[~2016-06-07 23:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-07 20:49 [DTSpec PATCH v2] Add items to Devicetree Source Format chapter Frank Rowand
     [not found] ` <57573377.4010001-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-06-07 23:50   ` David Gibson [this message]
     [not found]     ` <20160607235013.GP9226-RXTfZT5YzpxwFLYp8hBm2A@public.gmane.org>
2016-06-08 17:40       ` Frank Rowand

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=20160607235013.GP9226@voom.fritz.box \
    --to=david-xt8fgy+axnrb3ne2bgzf6laj5h9x9tb+@public.gmane.org \
    --cc=devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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).