* [DTSpec PATCH v2] Add items to Devicetree Source Format chapter
@ 2016-06-07 20:49 Frank Rowand
[not found] ` <57573377.4010001-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Frank Rowand @ 2016-06-07 20:49 UTC (permalink / raw)
To: devicetree-spec-u79uwXL29TY76Z2rM5mHXA, Rob Herring
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
+
+::
+
+ Ternary operators
+
+ ?: (condition ? value_if_true : value_if_false)
- A 64-bit value is represented with two 32-bit cells. Example:
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [DTSpec PATCH v2] Add items to Devicetree Source Format chapter
[not found] ` <57573377.4010001-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2016-06-07 23:50 ` David Gibson
[not found] ` <20160607235013.GP9226-RXTfZT5YzpxwFLYp8hBm2A@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: David Gibson @ 2016-06-07 23:50 UTC (permalink / raw)
To: Frank Rowand; +Cc: devicetree-spec-u79uwXL29TY76Z2rM5mHXA, Rob Herring
[-- 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 --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [DTSpec PATCH v2] Add items to Devicetree Source Format chapter
[not found] ` <20160607235013.GP9226-RXTfZT5YzpxwFLYp8hBm2A@public.gmane.org>
@ 2016-06-08 17:40 ` Frank Rowand
0 siblings, 0 replies; 3+ messages in thread
From: Frank Rowand @ 2016-06-08 17:40 UTC (permalink / raw)
To: David Gibson; +Cc: devicetree-spec-u79uwXL29TY76Z2rM5mHXA, Rob Herring
On 06/07/16 16:50, David Gibson wrote:
> 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
< snip >
>> + 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.
Good point. I'll send v3 with that change.
> 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).
That seems like a good idea, so I tried it. The result is a lot less
readable to me.
< snip >
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-06-08 17:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
[not found] ` <20160607235013.GP9226-RXTfZT5YzpxwFLYp8hBm2A@public.gmane.org>
2016-06-08 17:40 ` Frank Rowand
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.