https://github.com/torvalds/linux
Raw File
Tip revision: b1940cd21c0f4abdce101253e860feff547291b0 authored by Linus Torvalds on 06 January 2015, 01:05:20 UTC
Linux 3.19-rc3
Tip revision: b1940cd
tests-overlay.dtsi

/ {
	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";
				};
			};
		};

	};
};
back to top