Hi Viresh, I am in the wrong version with the comments below. You are at version 8 now. -Frank On 2/18/21 3:02 PM, Frank Rowand wrote: > On 1/29/21 1:24 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@xxxxxxxxxx> >> --- >> 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" >> + >> / { > > Please add: > > /* > * testcase data that intentionally results in an error > * is located here instead of in testcases_common.dtsi > * so that the static overlay apply tests will not include > * the error > */ > >> 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>; >> }; > > Please add: > > /* > * testcase data that intentionally results in an error > * is located in testcases.dts instead of in this file > * so that the static overlay apply tests will not include > * the error > */ > >> - >> - testcase-device2 { >> - compatible = "testcase-device"; >> - interrupt-parent = <&test_intc2>; >> - interrupts = <1>; /* invalid specifier - too short */ >> - }; >> }; >> - >> }; >> >