Skip to content

Commit

Permalink
of: unittest: document intentional interrupt-map provider build warning
Browse files Browse the repository at this point in the history
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 <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Rob Herring <[email protected]>
  • Loading branch information
frowand authored and robherring committed Nov 2, 2021
1 parent e85860e commit 9526565
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
19 changes: 19 additions & 0 deletions drivers/of/unittest-data/tests-interrupts.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -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>;
};

Expand All @@ -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>,
Expand Down
6 changes: 6 additions & 0 deletions drivers/of/unittest.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 9526565

Please sign in to comment.