linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] of: unittest: document intentional interrupt-map provider build warning
@ 2021-10-30  1:10 frowand.list
  2021-11-01 13:31 ` Rob Herring
  0 siblings, 1 reply; 2+ messages in thread
From: frowand.list @ 2021-10-30  1:10 UTC (permalink / raw)
  To: Rob Herring; +Cc: devicetree, linux-kernel

From: Frank Rowand <frank.rowand@sony.com>

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@sony.com>
---
 .../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
+				 * 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@sony.com>


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 1/1] of: unittest: document intentional interrupt-map provider build warning
  2021-10-30  1:10 [PATCH 1/1] of: unittest: document intentional interrupt-map provider build warning frowand.list
@ 2021-11-01 13:31 ` Rob Herring
  0 siblings, 0 replies; 2+ messages in thread
From: Rob Herring @ 2021-11-01 13:31 UTC (permalink / raw)
  To: frowand.list; +Cc: devicetree, linux-kernel

On Fri, Oct 29, 2021 at 08:10:39PM -0500, frowand.list@gmail.com wrote:
> From: Frank Rowand <frank.rowand@sony.com>
> 
> 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@sony.com>
> ---
>  .../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@sony.com>
> 
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-11-01 13:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-30  1:10 [PATCH 1/1] of: unittest: document intentional interrupt-map provider build warning frowand.list
2021-11-01 13:31 ` Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).