zephyr/scripts/dts/test-bindings
Ulf Magnusson 2845d8f404 scripts: edtlib: Make order irrelevant when including multiple files
When foo.yaml set some property 'required: true' and bar.yaml set the
same property 'required: false', the check for changing
'required: false' to 'required: true' would raise an error for

    include: [bar.yaml, foo.yaml]

(with that particular order due to implementation details).

The order files are included in shouldn't matter. To fix it, change the
logic so that 'required' values are ORed together between included files
(so that 'required: true' is always respected), and remove the
'required' true-to-false check when merging included files.

Keep the true-to-false check when merging the (merged) included files
into the main binding (the binding with the 'include:' in it). This
might give a good organization, and the old scripts do it too.

Piggyback two fixes/cleanups:

 - 'compatible' should be allowed to appear in included files

 - No need to allow an 'inherits' key in _check_binding(), because
   it has been removed before then, when merging bindings

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-09-11 07:50:30 -05:00
..
child.yaml scripts: edtlib: Add backwards compatibility for 'category:' 2019-09-07 10:25:02 -05:00
clock-1-cell.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
clock-2-cell.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
defaults.yaml dts: edtlib: Support giving missing properties a default value 2019-09-09 08:47:49 -05:00
deprecated-include.yaml scripts: edtlib: Add backwards compatibility for 'category:' 2019-09-07 10:25:02 -05:00
deprecated.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
false-positive.yaml dts: edtlib: Improve how we get the compatible string from bindings 2019-09-07 10:25:02 -05:00
fixed-clock.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
foo-optional.yaml scripts: edtlib: Make order irrelevant when including multiple files 2019-09-11 07:50:30 -05:00
foo-required.yaml scripts: edtlib: Make order irrelevant when including multiple files 2019-09-11 07:50:30 -05:00
gpio-1-cell.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
gpio-2-cell.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
grandchild-1.yaml scripts: dts: Improve syntax and code for including binding files 2019-09-07 10:25:02 -05:00
grandchild-2.yaml scripts: dts: Improve syntax and code for including binding files 2019-09-07 10:25:02 -05:00
interrupt-1-cell.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
interrupt-2-cell.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
interrupt-3-cell.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
io-channel.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
multidir.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
order-1.yaml scripts: edtlib: Make order irrelevant when including multiple files 2019-09-11 07:50:30 -05:00
order-2.yaml scripts: edtlib: Make order irrelevant when including multiple files 2019-09-11 07:50:30 -05:00
parent.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
props.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
pwm-1-cell.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
pwm-0-cell.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00
sub-node-parent.yaml scripts: dts: Simplify and improve 'compatible' matching 2019-09-07 10:25:02 -05:00