of: unittest: Create overlay_common.dtsi and testcases_common.dtsi
authorViresh Kumar <viresh.kumar@linaro.org>
Wed, 10 Mar 2021 05:35:32 +0000 (11:05 +0530)
committerRob Herring <robh@kernel.org>
Tue, 23 Mar 2021 21:27:51 +0000 (15:27 -0600)
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>
Reviewed-by: Frank Rowand <frank.rowand@sony.com>
Tested-by: Frank Rowand <frank.rowand@sony.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/c3354a042ba34a03fd563061cbaa7fc96cb2d71a.1615354376.git.viresh.kumar@linaro.org
drivers/of/unittest-data/overlay_base.dts
drivers/of/unittest-data/overlay_common.dtsi [new file with mode: 0644]
drivers/of/unittest-data/testcases.dts
drivers/of/unittest-data/testcases_common.dtsi [new file with mode: 0644]
drivers/of/unittest-data/tests-interrupts.dtsi

index 99ab9d1..ab90145 100644 (file)
@@ -2,92 +2,4 @@
 /dts-v1/;
 /plugin/;
 
 /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 (file)
index 0000000..08874a7
--- /dev/null
@@ -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";
+               };
+
+       };
+};
+
index a85b5e1..61cdd3d 100644 (file)
@@ -2,19 +2,20 @@
 /dts-v1/;
 /plugin/;
 
 /dts-v1/;
 /plugin/;
 
+#include "testcases_common.dtsi"
+
 / {
 / {
+       /*
+        * 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 {
        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 (file)
index 0000000..19292bb
--- /dev/null
@@ -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"
index ec175e8..9b60a54 100644 (file)
                        interrupts = <1>;
                };
 
                        interrupts = <1>;
                };
 
-               testcase-device2 {
-                       compatible = "testcase-device";
-                       interrupt-parent = <&test_intc2>;
-                       interrupts = <1>; /* invalid specifier - too short */
-               };
+               /*
+                * 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.
+                */
        };
        };
-
 };
 };