of/overlay: Add overlay unittests
Add unittests for OF overlays. It tests overlay device addition/removal and whether the apply revert sequence is correct. Changes since V1: * Added local fixups entries. Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com> Signed-off-by: Grant Likely <grant.likely@linaro.org>
This commit is contained in:

committed by
Grant Likely

parent
7518b5890d
commit
177d271cf3
180
drivers/of/unittest-data/tests-overlay.dtsi
Normal file
180
drivers/of/unittest-data/tests-overlay.dtsi
Normal file
@@ -0,0 +1,180 @@
|
||||
|
||||
/ {
|
||||
testcase-data {
|
||||
overlay-node {
|
||||
|
||||
/* test bus */
|
||||
selftestbus: test-bus {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
selftest100: test-selftest100 {
|
||||
compatible = "selftest";
|
||||
status = "okay";
|
||||
reg = <100>;
|
||||
};
|
||||
|
||||
selftest101: test-selftest101 {
|
||||
compatible = "selftest";
|
||||
status = "disabled";
|
||||
reg = <101>;
|
||||
};
|
||||
|
||||
selftest0: test-selftest0 {
|
||||
compatible = "selftest";
|
||||
status = "disabled";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
selftest1: test-selftest1 {
|
||||
compatible = "selftest";
|
||||
status = "okay";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
selftest2: test-selftest2 {
|
||||
compatible = "selftest";
|
||||
status = "disabled";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
selftest3: test-selftest3 {
|
||||
compatible = "selftest";
|
||||
status = "okay";
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
selftest5: test-selftest5 {
|
||||
compatible = "selftest";
|
||||
status = "disabled";
|
||||
reg = <5>;
|
||||
};
|
||||
|
||||
selftest6: test-selftest6 {
|
||||
compatible = "selftest";
|
||||
status = "disabled";
|
||||
reg = <6>;
|
||||
};
|
||||
|
||||
selftest7: test-selftest7 {
|
||||
compatible = "selftest";
|
||||
status = "disabled";
|
||||
reg = <7>;
|
||||
};
|
||||
|
||||
selftest8: test-selftest8 {
|
||||
compatible = "selftest";
|
||||
status = "disabled";
|
||||
reg = <8>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* test enable using absolute target path */
|
||||
overlay0 {
|
||||
fragment@0 {
|
||||
target-path = "/testcase-data/overlay-node/test-bus/test-selftest0";
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* test disable using absolute target path */
|
||||
overlay1 {
|
||||
fragment@0 {
|
||||
target-path = "/testcase-data/overlay-node/test-bus/test-selftest1";
|
||||
__overlay__ {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* test enable using label */
|
||||
overlay2 {
|
||||
fragment@0 {
|
||||
target = <&selftest2>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* test disable using label */
|
||||
overlay3 {
|
||||
fragment@0 {
|
||||
target = <&selftest3>;
|
||||
__overlay__ {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* test insertion of a full node */
|
||||
overlay4 {
|
||||
fragment@0 {
|
||||
target = <&selftestbus>;
|
||||
__overlay__ {
|
||||
|
||||
/* suppress DTC warning */
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
test-selftest4 {
|
||||
compatible = "selftest";
|
||||
status = "okay";
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* test overlay apply revert */
|
||||
overlay5 {
|
||||
fragment@0 {
|
||||
target-path = "/testcase-data/overlay-node/test-bus/test-selftest5";
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* test overlays application and removal in sequence */
|
||||
overlay6 {
|
||||
fragment@0 {
|
||||
target-path = "/testcase-data/overlay-node/test-bus/test-selftest6";
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
overlay7 {
|
||||
fragment@0 {
|
||||
target-path = "/testcase-data/overlay-node/test-bus/test-selftest7";
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* test overlays application and removal in bad sequence */
|
||||
overlay8 {
|
||||
fragment@0 {
|
||||
target-path = "/testcase-data/overlay-node/test-bus/test-selftest8";
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
overlay9 {
|
||||
fragment@0 {
|
||||
target-path = "/testcase-data/overlay-node/test-bus/test-selftest8";
|
||||
__overlay__ {
|
||||
property-foo = "bar";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user