On Fri, Oct 29, 2021 at 08:10:39PM -0500, frowand.list@xxxxxxxxx wrote: > From: Frank Rowand <frank.rowand@xxxxxxxx> > > 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 <frank.rowand@xxxxxxxx> > --- > .../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..8c8d267d4d3c 100644 > --- a/drivers/of/unittest-data/tests-interrupts.dtsi > +++ b/drivers/of/unittest-data/tests-interrupts.dtsi > @@ -31,6 +31,21 @@ test_intmap0: intmap0 { > > 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-interrupts_property to the Makefile s/interrupts_property/interrupt_map/ I'll fix when applying. > + * for all .dts files this include this .dtsi > + #address-cells = <1>; > + */ > interrupt-map = <0x5000 1 2 &test_intc0 15>; > }; > > @@ -46,6 +61,10 @@ interrupts1 { > > 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 8c056972a6dd..04bfef8f67c3 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); > -- > Frank Rowand <frank.rowand@xxxxxxxx> > >