Commit 992b0dc5 authored by Frank Rowand's avatar Frank Rowand Committed by Rob Herring
Browse files

of: overlay: unittest: add tests for overlay notifiers



Add tests for overlay apply and remove notifiers.  Trigger errors
for each of the notifier actions.

These tests will reveal a memory leak problem when a notifier returns
an error for action OF_OVERLAY_POST_APPLY.  The pr_err() message is:

   OF: ERROR: memory leak, expected refcount 1 instead of 3,
   of_node_get()/of_node_put() unbalanced - destroy cset entry: attach
   overlay node /testcase-data/overlay-node/test-bus/test-unittest17

Signed-off-by: default avatarFrank Rowand <frank.rowand@sony.com>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220502181742.1402826-3-frowand.list@gmail.com
parent 1ac17586
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -17,6 +17,11 @@ obj-$(CONFIG_OF_OVERLAY) += overlay.dtb.o \
			    overlay_12.dtb.o \
			    overlay_13.dtb.o \
			    overlay_15.dtb.o \
			    overlay_16.dtb.o \
			    overlay_17.dtb.o \
			    overlay_18.dtb.o \
			    overlay_19.dtb.o \
			    overlay_20.dtb.o \
			    overlay_bad_add_dup_node.dtb.o \
			    overlay_bad_add_dup_prop.dtb.o \
			    overlay_bad_phandle.dtb.o \
@@ -75,6 +80,11 @@ apply_static_overlay_1 := overlay_0.dtbo \
			  overlay_12.dtbo \
			  overlay_13.dtbo \
			  overlay_15.dtbo \
			  overlay_16.dtbo \
			  overlay_17.dtbo \
			  overlay_18.dtbo \
			  overlay_19.dtbo \
			  overlay_20.dtbo \
			  overlay_gpio_01.dtbo \
			  overlay_gpio_02a.dtbo \
			  overlay_gpio_02b.dtbo \
+15 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
/plugin/;

/* overlay_16 - notify test */

&unittest_test_bus {
	#address-cells = <1>;
	#size-cells = <0>;

	test-unittest16 {
		compatible = "unittest";
		reg = <16>;
	};
};
+15 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
/plugin/;

/* overlay_17 - notify test */

&unittest_test_bus {
	#address-cells = <1>;
	#size-cells = <0>;

	test-unittest17 {
		compatible = "unittest";
		reg = <17>;
	};
};
+15 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
/plugin/;

/* overlay_18 - notify test */

&unittest_test_bus {
	#address-cells = <1>;
	#size-cells = <0>;

	test-unittest18 {
		compatible = "unittest";
		reg = <18>;
	};
};
+15 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
/plugin/;

/* overlay_19 - notify test */

&unittest_test_bus {
	#address-cells = <1>;
	#size-cells = <0>;

	test-unittest19 {
		compatible = "unittest";
		reg = <19>;
	};
};
Loading