From 9526565591b8db3d363be21a03b66b20575039a2 Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Fri, 29 Oct 2021 20:10:39 -0500 Subject: of: unittest: document intentional interrupt-map provider build warning A recently implemented dtc compiler warning reports a dts problem via a build warning: drivers/of/unittest-data/tests-interrupts.dtsi:32.26-35.6: Warning (interrupt_map): /testcase-data/interrupts/intmap1: Missing '#address-cells' in interrupt-map provider The warning will be addressed by a separate patch by suppressing the warning for .dts files that include this .dtsi. This patch documents why the warning is due to a deliberately incorrect .dtsi file so that no one will fix the .dtsi file to prevent the build warning. Signed-off-by: Frank Rowand Link: https://lore.kernel.org/r/20211030011039.2106946-1-frowand.list@gmail.com Signed-off-by: Rob Herring --- drivers/of/unittest-data/tests-interrupts.dtsi | 19 +++++++++++++++++++ drivers/of/unittest.c | 6 ++++++ 2 files changed, 25 insertions(+) diff --git a/drivers/of/unittest-data/tests-interrupts.dtsi b/drivers/of/unittest-data/tests-interrupts.dtsi index 9b60a549f502..ecc74dbcc373 100644 --- a/drivers/of/unittest-data/tests-interrupts.dtsi +++ b/drivers/of/unittest-data/tests-interrupts.dtsi @@ -31,6 +31,21 @@ test_intmap1: intmap1 { #interrupt-cells = <2>; + /* + * #address-cells is required + * + * The property is not provided in this node to + * test that the code will properly handle + * this case for legacy .dts files. + * + * Not having #address-cells will result in a + * warning from dtc starting with + * version v1.6.1-19-g0a3a9d3449c8 + * The warning is suppressed by adding + * -Wno-interrupt_map to the Makefile for all + * .dts files this include this .dtsi + #address-cells = <1>; + */ interrupt-map = <0x5000 1 2 &test_intc0 15>; }; @@ -46,6 +61,10 @@ interrupts-extended0 { reg = <0x5000 0x100>; + /* + * Do not remove &test_intmap1 from this + * property - see comment in node intmap1 + */ interrupts-extended = <&test_intc0 1>, <&test_intc1 2 3 4>, <&test_intc2 5 6>, diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c index c12bcb5cca60..481ba8682ebf 100644 --- a/drivers/of/unittest.c +++ b/drivers/of/unittest.c @@ -1129,6 +1129,12 @@ static void __init of_unittest_parse_interrupts_extended(void) passed &= (args.args[1] == 14); break; case 6: + /* + * Tests child node that is missing property + * #address-cells. See the comments in + * drivers/of/unittest-data/tests-interrupts.dtsi + * nodes intmap1 and interrupts-extended0 + */ passed &= !rc; passed &= (args.args_count == 1); passed &= (args.args[0] == 15); -- cgit v1.2.3