Message ID | d4775a7280b93ffed64291f8f67d9d2dba564f21.1613127681.git.viresh.kumar@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | dt: Add fdtoverlay rule and statically build unittest | expand |
Hi Viresh, I commented on this patch in v7 after you had created v8. You acknowledged that comment and said that it will be corrected. -Frank On 2/12/21 5:18 AM, Viresh Kumar wrote: > In order to build-test the same unit-test files using fdtoverlay tool, > move the device nodes from the existing overlay_base.dts and > testcases_common.dts files to .dtsi counterparts. The .dts files now > include the new .dtsi files, resulting in exactly the same behavior as > earlier. > > The .dtsi files can now be reused for compile time tests using > fdtoverlay (will be done by a later commit). > > This is required because the base files passed to fdtoverlay tool > shouldn't be overlays themselves (i.e. shouldn't have the /plugin/; > tag). > > Note that this commit also moves "testcase-device2" node to > testcases.dts from tests-interrupts.dtsi, as this node has a deliberate > error in it and is only relevant for runtime testing done with > unittest.c. > > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> > --- > drivers/of/unittest-data/overlay_base.dts | 90 +----------------- > drivers/of/unittest-data/overlay_common.dtsi | 91 +++++++++++++++++++ > drivers/of/unittest-data/testcases.dts | 18 ++-- > .../of/unittest-data/testcases_common.dtsi | 19 ++++ > .../of/unittest-data/tests-interrupts.dtsi | 7 -- > 5 files changed, 118 insertions(+), 107 deletions(-) > create mode 100644 drivers/of/unittest-data/overlay_common.dtsi > create mode 100644 drivers/of/unittest-data/testcases_common.dtsi > > diff --git a/drivers/of/unittest-data/overlay_base.dts b/drivers/of/unittest-data/overlay_base.dts > index 99ab9d12d00b..ab9014589c5d 100644 > --- a/drivers/of/unittest-data/overlay_base.dts > +++ b/drivers/of/unittest-data/overlay_base.dts > @@ -2,92 +2,4 @@ > /dts-v1/; > /plugin/; > > -/* > - * Base device tree that overlays will be applied against. > - * > - * Do not add any properties in node "/". > - * Do not add any nodes other than "/testcase-data-2" in node "/". > - * Do not add anything that would result in dtc creating node "/__fixups__". > - * dtc will create nodes "/__symbols__" and "/__local_fixups__". > - */ > - > -/ { > - testcase-data-2 { > - #address-cells = <1>; > - #size-cells = <1>; > - > - electric_1: substation@100 { > - compatible = "ot,big-volts-control"; > - reg = < 0x00000100 0x100 >; > - status = "disabled"; > - > - hvac_1: hvac-medium-1 { > - compatible = "ot,hvac-medium"; > - heat-range = < 50 75 >; > - cool-range = < 60 80 >; > - }; > - > - spin_ctrl_1: motor-1 { > - compatible = "ot,ferris-wheel-motor"; > - spin = "clockwise"; > - rpm_avail = < 50 >; > - }; > - > - spin_ctrl_2: motor-8 { > - compatible = "ot,roller-coaster-motor"; > - }; > - }; > - > - rides_1: fairway-1 { > - #address-cells = <1>; > - #size-cells = <1>; > - compatible = "ot,rides"; > - status = "disabled"; > - orientation = < 127 >; > - > - ride@100 { > - #address-cells = <1>; > - #size-cells = <1>; > - compatible = "ot,roller-coaster"; > - reg = < 0x00000100 0x100 >; > - hvac-provider = < &hvac_1 >; > - hvac-thermostat = < 29 > ; > - hvac-zones = < 14 >; > - hvac-zone-names = "operator"; > - spin-controller = < &spin_ctrl_2 5 &spin_ctrl_2 7 >; > - spin-controller-names = "track_1", "track_2"; > - queues = < 2 >; > - > - track@30 { > - reg = < 0x00000030 0x10 >; > - }; > - > - track@40 { > - reg = < 0x00000040 0x10 >; > - }; > - > - }; > - }; > - > - lights_1: lights@30000 { > - compatible = "ot,work-lights"; > - reg = < 0x00030000 0x1000 >; > - status = "disabled"; > - }; > - > - lights_2: lights@40000 { > - compatible = "ot,show-lights"; > - reg = < 0x00040000 0x1000 >; > - status = "disabled"; > - rate = < 13 138 >; > - }; > - > - retail_1: vending@50000 { > - reg = < 0x00050000 0x1000 >; > - compatible = "ot,tickets"; > - status = "disabled"; > - }; > - > - }; > -}; > - > +#include "overlay_common.dtsi" > diff --git a/drivers/of/unittest-data/overlay_common.dtsi b/drivers/of/unittest-data/overlay_common.dtsi > new file mode 100644 > index 000000000000..08874a72556e > --- /dev/null > +++ b/drivers/of/unittest-data/overlay_common.dtsi > @@ -0,0 +1,91 @@ > +// SPDX-License-Identifier: GPL-2.0 > + > +/* > + * Base device tree that overlays will be applied against. > + * > + * Do not add any properties in node "/". > + * Do not add any nodes other than "/testcase-data-2" in node "/". > + * Do not add anything that would result in dtc creating node "/__fixups__". > + * dtc will create nodes "/__symbols__" and "/__local_fixups__". > + */ > + > +/ { > + testcase-data-2 { > + #address-cells = <1>; > + #size-cells = <1>; > + > + electric_1: substation@100 { > + compatible = "ot,big-volts-control"; > + reg = < 0x00000100 0x100 >; > + status = "disabled"; > + > + hvac_1: hvac-medium-1 { > + compatible = "ot,hvac-medium"; > + heat-range = < 50 75 >; > + cool-range = < 60 80 >; > + }; > + > + spin_ctrl_1: motor-1 { > + compatible = "ot,ferris-wheel-motor"; > + spin = "clockwise"; > + rpm_avail = < 50 >; > + }; > + > + spin_ctrl_2: motor-8 { > + compatible = "ot,roller-coaster-motor"; > + }; > + }; > + > + rides_1: fairway-1 { > + #address-cells = <1>; > + #size-cells = <1>; > + compatible = "ot,rides"; > + status = "disabled"; > + orientation = < 127 >; > + > + ride@100 { > + #address-cells = <1>; > + #size-cells = <1>; > + compatible = "ot,roller-coaster"; > + reg = < 0x00000100 0x100 >; > + hvac-provider = < &hvac_1 >; > + hvac-thermostat = < 29 > ; > + hvac-zones = < 14 >; > + hvac-zone-names = "operator"; > + spin-controller = < &spin_ctrl_2 5 &spin_ctrl_2 7 >; > + spin-controller-names = "track_1", "track_2"; > + queues = < 2 >; > + > + track@30 { > + reg = < 0x00000030 0x10 >; > + }; > + > + track@40 { > + reg = < 0x00000040 0x10 >; > + }; > + > + }; > + }; > + > + lights_1: lights@30000 { > + compatible = "ot,work-lights"; > + reg = < 0x00030000 0x1000 >; > + status = "disabled"; > + }; > + > + lights_2: lights@40000 { > + compatible = "ot,show-lights"; > + reg = < 0x00040000 0x1000 >; > + status = "disabled"; > + rate = < 13 138 >; > + }; > + > + retail_1: vending@50000 { > + reg = < 0x00050000 0x1000 >; > + compatible = "ot,tickets"; > + status = "disabled"; > + }; > + > + }; > +}; > + > diff --git a/drivers/of/unittest-data/testcases.dts b/drivers/of/unittest-data/testcases.dts > index a85b5e1c381a..04b9e7bb30d9 100644 > --- a/drivers/of/unittest-data/testcases.dts > +++ b/drivers/of/unittest-data/testcases.dts > @@ -2,19 +2,15 @@ > /dts-v1/; > /plugin/; > > +#include "testcases_common.dtsi" > + > / { > testcase-data { > - changeset { > - prop-update = "hello"; > - prop-remove = "world"; > - node-remove { > - }; > + testcase-device2 { > + compatible = "testcase-device"; > + interrupt-parent = <&test_intc2>; > + interrupts = <1>; /* invalid specifier - too short */ > }; > }; > + > }; > -#include "tests-phandle.dtsi" > -#include "tests-interrupts.dtsi" > -#include "tests-match.dtsi" > -#include "tests-address.dtsi" > -#include "tests-platform.dtsi" > -#include "tests-overlay.dtsi" > diff --git a/drivers/of/unittest-data/testcases_common.dtsi b/drivers/of/unittest-data/testcases_common.dtsi > new file mode 100644 > index 000000000000..19292bbb4cbb > --- /dev/null > +++ b/drivers/of/unittest-data/testcases_common.dtsi > @@ -0,0 +1,19 @@ > +// SPDX-License-Identifier: GPL-2.0 > + > +/ { > + testcase-data { > + changeset { > + prop-update = "hello"; > + prop-remove = "world"; > + node-remove { > + }; > + }; > + }; > +}; > + > +#include "tests-phandle.dtsi" > +#include "tests-interrupts.dtsi" > +#include "tests-match.dtsi" > +#include "tests-address.dtsi" > +#include "tests-platform.dtsi" > +#include "tests-overlay.dtsi" > diff --git a/drivers/of/unittest-data/tests-interrupts.dtsi b/drivers/of/unittest-data/tests-interrupts.dtsi > index ec175e800725..0e5914611107 100644 > --- a/drivers/of/unittest-data/tests-interrupts.dtsi > +++ b/drivers/of/unittest-data/tests-interrupts.dtsi > @@ -61,12 +61,5 @@ testcase-device1 { > interrupt-parent = <&test_intc0>; > interrupts = <1>; > }; > - > - testcase-device2 { > - compatible = "testcase-device"; > - interrupt-parent = <&test_intc2>; > - interrupts = <1>; /* invalid specifier - too short */ > - }; > }; > - > }; >
diff --git a/drivers/of/unittest-data/overlay_base.dts b/drivers/of/unittest-data/overlay_base.dts index 99ab9d12d00b..ab9014589c5d 100644 --- a/drivers/of/unittest-data/overlay_base.dts +++ b/drivers/of/unittest-data/overlay_base.dts @@ -2,92 +2,4 @@ /dts-v1/; /plugin/; -/* - * Base device tree that overlays will be applied against. - * - * Do not add any properties in node "/". - * Do not add any nodes other than "/testcase-data-2" in node "/". - * Do not add anything that would result in dtc creating node "/__fixups__". - * dtc will create nodes "/__symbols__" and "/__local_fixups__". - */ - -/ { - testcase-data-2 { - #address-cells = <1>; - #size-cells = <1>; - - electric_1: substation@100 { - compatible = "ot,big-volts-control"; - reg = < 0x00000100 0x100 >; - status = "disabled"; - - hvac_1: hvac-medium-1 { - compatible = "ot,hvac-medium"; - heat-range = < 50 75 >; - cool-range = < 60 80 >; - }; - - spin_ctrl_1: motor-1 { - compatible = "ot,ferris-wheel-motor"; - spin = "clockwise"; - rpm_avail = < 50 >; - }; - - spin_ctrl_2: motor-8 { - compatible = "ot,roller-coaster-motor"; - }; - }; - - rides_1: fairway-1 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "ot,rides"; - status = "disabled"; - orientation = < 127 >; - - ride@100 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "ot,roller-coaster"; - reg = < 0x00000100 0x100 >; - hvac-provider = < &hvac_1 >; - hvac-thermostat = < 29 > ; - hvac-zones = < 14 >; - hvac-zone-names = "operator"; - spin-controller = < &spin_ctrl_2 5 &spin_ctrl_2 7 >; - spin-controller-names = "track_1", "track_2"; - queues = < 2 >; - - track@30 { - reg = < 0x00000030 0x10 >; - }; - - track@40 { - reg = < 0x00000040 0x10 >; - }; - - }; - }; - - lights_1: lights@30000 { - compatible = "ot,work-lights"; - reg = < 0x00030000 0x1000 >; - status = "disabled"; - }; - - lights_2: lights@40000 { - compatible = "ot,show-lights"; - reg = < 0x00040000 0x1000 >; - status = "disabled"; - rate = < 13 138 >; - }; - - retail_1: vending@50000 { - reg = < 0x00050000 0x1000 >; - compatible = "ot,tickets"; - status = "disabled"; - }; - - }; -}; - +#include "overlay_common.dtsi" diff --git a/drivers/of/unittest-data/overlay_common.dtsi b/drivers/of/unittest-data/overlay_common.dtsi new file mode 100644 index 000000000000..08874a72556e --- /dev/null +++ b/drivers/of/unittest-data/overlay_common.dtsi @@ -0,0 +1,91 @@ +// SPDX-License-Identifier: GPL-2.0 + +/* + * Base device tree that overlays will be applied against. + * + * Do not add any properties in node "/". + * Do not add any nodes other than "/testcase-data-2" in node "/". + * Do not add anything that would result in dtc creating node "/__fixups__". + * dtc will create nodes "/__symbols__" and "/__local_fixups__". + */ + +/ { + testcase-data-2 { + #address-cells = <1>; + #size-cells = <1>; + + electric_1: substation@100 { + compatible = "ot,big-volts-control"; + reg = < 0x00000100 0x100 >; + status = "disabled"; + + hvac_1: hvac-medium-1 { + compatible = "ot,hvac-medium"; + heat-range = < 50 75 >; + cool-range = < 60 80 >; + }; + + spin_ctrl_1: motor-1 { + compatible = "ot,ferris-wheel-motor"; + spin = "clockwise"; + rpm_avail = < 50 >; + }; + + spin_ctrl_2: motor-8 { + compatible = "ot,roller-coaster-motor"; + }; + }; + + rides_1: fairway-1 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "ot,rides"; + status = "disabled"; + orientation = < 127 >; + + ride@100 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "ot,roller-coaster"; + reg = < 0x00000100 0x100 >; + hvac-provider = < &hvac_1 >; + hvac-thermostat = < 29 > ; + hvac-zones = < 14 >; + hvac-zone-names = "operator"; + spin-controller = < &spin_ctrl_2 5 &spin_ctrl_2 7 >; + spin-controller-names = "track_1", "track_2"; + queues = < 2 >; + + track@30 { + reg = < 0x00000030 0x10 >; + }; + + track@40 { + reg = < 0x00000040 0x10 >; + }; + + }; + }; + + lights_1: lights@30000 { + compatible = "ot,work-lights"; + reg = < 0x00030000 0x1000 >; + status = "disabled"; + }; + + lights_2: lights@40000 { + compatible = "ot,show-lights"; + reg = < 0x00040000 0x1000 >; + status = "disabled"; + rate = < 13 138 >; + }; + + retail_1: vending@50000 { + reg = < 0x00050000 0x1000 >; + compatible = "ot,tickets"; + status = "disabled"; + }; + + }; +}; + diff --git a/drivers/of/unittest-data/testcases.dts b/drivers/of/unittest-data/testcases.dts index a85b5e1c381a..04b9e7bb30d9 100644 --- a/drivers/of/unittest-data/testcases.dts +++ b/drivers/of/unittest-data/testcases.dts @@ -2,19 +2,15 @@ /dts-v1/; /plugin/; +#include "testcases_common.dtsi" + / { testcase-data { - changeset { - prop-update = "hello"; - prop-remove = "world"; - node-remove { - }; + testcase-device2 { + compatible = "testcase-device"; + interrupt-parent = <&test_intc2>; + interrupts = <1>; /* invalid specifier - too short */ }; }; + }; -#include "tests-phandle.dtsi" -#include "tests-interrupts.dtsi" -#include "tests-match.dtsi" -#include "tests-address.dtsi" -#include "tests-platform.dtsi" -#include "tests-overlay.dtsi" diff --git a/drivers/of/unittest-data/testcases_common.dtsi b/drivers/of/unittest-data/testcases_common.dtsi new file mode 100644 index 000000000000..19292bbb4cbb --- /dev/null +++ b/drivers/of/unittest-data/testcases_common.dtsi @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: GPL-2.0 + +/ { + testcase-data { + changeset { + prop-update = "hello"; + prop-remove = "world"; + node-remove { + }; + }; + }; +}; + +#include "tests-phandle.dtsi" +#include "tests-interrupts.dtsi" +#include "tests-match.dtsi" +#include "tests-address.dtsi" +#include "tests-platform.dtsi" +#include "tests-overlay.dtsi" diff --git a/drivers/of/unittest-data/tests-interrupts.dtsi b/drivers/of/unittest-data/tests-interrupts.dtsi index ec175e800725..0e5914611107 100644 --- a/drivers/of/unittest-data/tests-interrupts.dtsi +++ b/drivers/of/unittest-data/tests-interrupts.dtsi @@ -61,12 +61,5 @@ testcase-device1 { interrupt-parent = <&test_intc0>; interrupts = <1>; }; - - testcase-device2 { - compatible = "testcase-device"; - interrupt-parent = <&test_intc2>; - interrupts = <1>; /* invalid specifier - too short */ - }; }; - };
In order to build-test the same unit-test files using fdtoverlay tool, move the device nodes from the existing overlay_base.dts and testcases_common.dts files to .dtsi counterparts. The .dts files now include the new .dtsi files, resulting in exactly the same behavior as earlier. The .dtsi files can now be reused for compile time tests using fdtoverlay (will be done by a later commit). This is required because the base files passed to fdtoverlay tool shouldn't be overlays themselves (i.e. shouldn't have the /plugin/; tag). Note that this commit also moves "testcase-device2" node to testcases.dts from tests-interrupts.dtsi, as this node has a deliberate error in it and is only relevant for runtime testing done with unittest.c. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> --- drivers/of/unittest-data/overlay_base.dts | 90 +----------------- drivers/of/unittest-data/overlay_common.dtsi | 91 +++++++++++++++++++ drivers/of/unittest-data/testcases.dts | 18 ++-- .../of/unittest-data/testcases_common.dtsi | 19 ++++ .../of/unittest-data/tests-interrupts.dtsi | 7 -- 5 files changed, 118 insertions(+), 107 deletions(-) create mode 100644 drivers/of/unittest-data/overlay_common.dtsi create mode 100644 drivers/of/unittest-data/testcases_common.dtsi