diff mbox series

[v2] of/unittest: Disable new dtc node_name_vs_property_name and interrupt_map warnings

Message ID 20211028130423.4025578-1-robh@kernel.org
State Accepted, archived
Headers show
Series [v2] of/unittest: Disable new dtc node_name_vs_property_name and interrupt_map warnings | expand

Checks

Context Check Description
robh/checkpatch warning total: 0 errors, 1 warnings, 20 lines checked

Commit Message

Rob Herring (Arm) Oct. 28, 2021, 1:04 p.m. UTC
The unittest dtbs have various intentional errors which cause warnings.
With the latest dtc sync to v1.6.1-19-g0a3a9d3449c8, we need to disable
some new checks: node_name_vs_property_name and interrupt_map warnings.
These warnings are also generated for static_base_1.dtb, so add
DTC_FLAGS for it.

Note that the interrupt_map warnings only appear once interrupt_provider
warning is re-enabled globally.

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

Fixes: e76187b9792e ("scripts/dtc: Update to upstream version v1.6.1-19-g0a3a9d3449c8")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Frank Rowand <frowand.list@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 drivers/of/unittest-data/Makefile | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Frank Rowand Oct. 29, 2021, 1:12 a.m. UTC | #1
Hi Rob,

On 10/28/21 8:04 AM, Rob Herring wrote:
> The unittest dtbs have various intentional errors which cause warnings.
> With the latest dtc sync to v1.6.1-19-g0a3a9d3449c8, we need to disable
> some new checks: node_name_vs_property_name and interrupt_map warnings.
> These warnings are also generated for static_base_1.dtb, so add
> DTC_FLAGS for it.
> 
> Note that the interrupt_map warnings only appear once interrupt_provider
> warning is re-enabled globally.
> 
> 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
> 
> Fixes: e76187b9792e ("scripts/dtc: Update to upstream version v1.6.1-19-g0a3a9d3449c8")
> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
> Cc: Frank Rowand <frowand.list@gmail.com>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  drivers/of/unittest-data/Makefile | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/of/unittest-data/Makefile b/drivers/of/unittest-data/Makefile
> index a5d2d9254b2c..fbded24c608c 100644
> --- a/drivers/of/unittest-data/Makefile
> +++ b/drivers/of/unittest-data/Makefile
> @@ -37,7 +37,9 @@ DTC_FLAGS_overlay_base += -@
>  DTC_FLAGS_testcases += -@
>  
>  # suppress warnings about intentional errors
> -DTC_FLAGS_testcases += -Wno-interrupts_property
> +DTC_FLAGS_testcases += -Wno-interrupts_property \
> +	-Wno-node_name_vs_property_name \
> +	-Wno-interrupt_map
>  
>  # Apply overlays statically with fdtoverlay.  This is a build time test that
>  # the overlays can be applied successfully by fdtoverlay.  This does not
> @@ -82,6 +84,10 @@ apply_static_overlay_1 := overlay_0.dtbo \
>  
>  apply_static_overlay_2 := overlay.dtbo
>  
> +DTC_FLAGS_static_base_1 += -Wno-interrupts_property \
> +	-Wno-node_name_vs_property_name \
> +	-Wno-interrupt_map
> +
>  static_test_1-dtbs := static_base_1.dtb $(apply_static_overlay_1)
>  static_test_2-dtbs := static_base_2.dtb $(apply_static_overlay_2)
>  
> 

Thanks for splitting the DTC_FLAGS into per file values.

I dug into the unittest code that uses the dts node that causes the
interrupt map warning and do not see any reason not to fix the dts
so that the warning will not occur, instead of masking it with
the DTC_FLAGS.  I just now submitted a patch to fix the .dtsi at

  https://lore.kernel.org/all/20211029005802.2047081-1-frowand.list@gmail.com/

-Frank
Frank Rowand Oct. 30, 2021, 1:45 a.m. UTC | #2
On 10/28/21 8:12 PM, Frank Rowand wrote:
> Hi Rob,
> 
> On 10/28/21 8:04 AM, Rob Herring wrote:
>> The unittest dtbs have various intentional errors which cause warnings.
>> With the latest dtc sync to v1.6.1-19-g0a3a9d3449c8, we need to disable
>> some new checks: node_name_vs_property_name and interrupt_map warnings.
>> These warnings are also generated for static_base_1.dtb, so add
>> DTC_FLAGS for it.
>>
>> Note that the interrupt_map warnings only appear once interrupt_provider
>> warning is re-enabled globally.
>>
>> 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
>>
>> Fixes: e76187b9792e ("scripts/dtc: Update to upstream version v1.6.1-19-g0a3a9d3449c8")
>> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
>> Cc: Frank Rowand <frowand.list@gmail.com>
>> Signed-off-by: Rob Herring <robh@kernel.org>
>> ---
>>  drivers/of/unittest-data/Makefile | 8 +++++++-
>>  1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/of/unittest-data/Makefile b/drivers/of/unittest-data/Makefile
>> index a5d2d9254b2c..fbded24c608c 100644
>> --- a/drivers/of/unittest-data/Makefile
>> +++ b/drivers/of/unittest-data/Makefile
>> @@ -37,7 +37,9 @@ DTC_FLAGS_overlay_base += -@
>>  DTC_FLAGS_testcases += -@
>>  
>>  # suppress warnings about intentional errors
>> -DTC_FLAGS_testcases += -Wno-interrupts_property
>> +DTC_FLAGS_testcases += -Wno-interrupts_property \
>> +	-Wno-node_name_vs_property_name \
>> +	-Wno-interrupt_map
>>  
>>  # Apply overlays statically with fdtoverlay.  This is a build time test that
>>  # the overlays can be applied successfully by fdtoverlay.  This does not
>> @@ -82,6 +84,10 @@ apply_static_overlay_1 := overlay_0.dtbo \
>>  
>>  apply_static_overlay_2 := overlay.dtbo
>>  
>> +DTC_FLAGS_static_base_1 += -Wno-interrupts_property \
>> +	-Wno-node_name_vs_property_name \
>> +	-Wno-interrupt_map
>> +
>>  static_test_1-dtbs := static_base_1.dtb $(apply_static_overlay_1)
>>  static_test_2-dtbs := static_base_2.dtb $(apply_static_overlay_2)
>>  
>>
> 
> Thanks for splitting the DTC_FLAGS into per file values.
> 
> I dug into the unittest code that uses the dts node that causes the
> interrupt map warning and do not see any reason not to fix the dts
> so that the warning will not occur, instead of masking it with
> the DTC_FLAGS.  I just now submitted a patch to fix the .dtsi at
> 
>   https://lore.kernel.org/all/20211029005802.2047081-1-frowand.list@gmail.com/

That thread ended up deciding that the .dtsi should not be fixed to
avoid the warning (it was a deliberate error to allow a specific test),

so for the [v2] patch that started this thread:

Reviewed-by: Frank Rowand <frowand.list@gmail.com>
Tested-by: Frank Rowand <frowand.list@gmail.com>

> 
> -Frank
>
Greg KH Nov. 10, 2021, 1:31 p.m. UTC | #3
On Thu, Oct 28, 2021 at 08:04:23AM -0500, Rob Herring wrote:
> The unittest dtbs have various intentional errors which cause warnings.
> With the latest dtc sync to v1.6.1-19-g0a3a9d3449c8, we need to disable
> some new checks: node_name_vs_property_name and interrupt_map warnings.
> These warnings are also generated for static_base_1.dtb, so add
> DTC_FLAGS for it.
> 
> Note that the interrupt_map warnings only appear once interrupt_provider
> warning is re-enabled globally.
> 
> 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
> 
> Fixes: e76187b9792e ("scripts/dtc: Update to upstream version v1.6.1-19-g0a3a9d3449c8")
> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
> Cc: Frank Rowand <frowand.list@gmail.com>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  drivers/of/unittest-data/Makefile | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/of/unittest-data/Makefile b/drivers/of/unittest-data/Makefile
> index a5d2d9254b2c..fbded24c608c 100644
> --- a/drivers/of/unittest-data/Makefile
> +++ b/drivers/of/unittest-data/Makefile
> @@ -37,7 +37,9 @@ DTC_FLAGS_overlay_base += -@
>  DTC_FLAGS_testcases += -@
>  
>  # suppress warnings about intentional errors
> -DTC_FLAGS_testcases += -Wno-interrupts_property
> +DTC_FLAGS_testcases += -Wno-interrupts_property \
> +	-Wno-node_name_vs_property_name \
> +	-Wno-interrupt_map
>  
>  # Apply overlays statically with fdtoverlay.  This is a build time test that
>  # the overlays can be applied successfully by fdtoverlay.  This does not
> @@ -82,6 +84,10 @@ apply_static_overlay_1 := overlay_0.dtbo \
>  
>  apply_static_overlay_2 := overlay.dtbo
>  
> +DTC_FLAGS_static_base_1 += -Wno-interrupts_property \
> +	-Wno-node_name_vs_property_name \
> +	-Wno-interrupt_map
> +
>  static_test_1-dtbs := static_base_1.dtb $(apply_static_overlay_1)
>  static_test_2-dtbs := static_base_2.dtb $(apply_static_overlay_2)
>  
> -- 
> 2.32.0
> 

Note this commit in Linus's tree breaks clang-based systems with the
following build errors:
	FATAL ERROR: Unrecognized check name "interrupt_map"
	FATAL ERROR: Unrecognized check name "node_name_vs_property_name"

Any thoughts about what to do?

thanks,

greg k-h
Rob Herring (Arm) Nov. 10, 2021, 1:48 p.m. UTC | #4
On Wed, Nov 10, 2021 at 7:31 AM Greg KH <gregkh@linuxfoundation.org> wrote:
>
> On Thu, Oct 28, 2021 at 08:04:23AM -0500, Rob Herring wrote:
> > The unittest dtbs have various intentional errors which cause warnings.
> > With the latest dtc sync to v1.6.1-19-g0a3a9d3449c8, we need to disable
> > some new checks: node_name_vs_property_name and interrupt_map warnings.
> > These warnings are also generated for static_base_1.dtb, so add
> > DTC_FLAGS for it.
> >
> > Note that the interrupt_map warnings only appear once interrupt_provider
> > warning is re-enabled globally.
> >
> > 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
> >
> > Fixes: e76187b9792e ("scripts/dtc: Update to upstream version v1.6.1-19-g0a3a9d3449c8")
> > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
> > Cc: Frank Rowand <frowand.list@gmail.com>
> > Signed-off-by: Rob Herring <robh@kernel.org>
> > ---
> >  drivers/of/unittest-data/Makefile | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/of/unittest-data/Makefile b/drivers/of/unittest-data/Makefile
> > index a5d2d9254b2c..fbded24c608c 100644
> > --- a/drivers/of/unittest-data/Makefile
> > +++ b/drivers/of/unittest-data/Makefile
> > @@ -37,7 +37,9 @@ DTC_FLAGS_overlay_base += -@
> >  DTC_FLAGS_testcases += -@
> >
> >  # suppress warnings about intentional errors
> > -DTC_FLAGS_testcases += -Wno-interrupts_property
> > +DTC_FLAGS_testcases += -Wno-interrupts_property \
> > +     -Wno-node_name_vs_property_name \
> > +     -Wno-interrupt_map
> >
> >  # Apply overlays statically with fdtoverlay.  This is a build time test that
> >  # the overlays can be applied successfully by fdtoverlay.  This does not
> > @@ -82,6 +84,10 @@ apply_static_overlay_1 := overlay_0.dtbo \
> >
> >  apply_static_overlay_2 := overlay.dtbo
> >
> > +DTC_FLAGS_static_base_1 += -Wno-interrupts_property \
> > +     -Wno-node_name_vs_property_name \
> > +     -Wno-interrupt_map
> > +
> >  static_test_1-dtbs := static_base_1.dtb $(apply_static_overlay_1)
> >  static_test_2-dtbs := static_base_2.dtb $(apply_static_overlay_2)
> >
> > --
> > 2.32.0
> >
>
> Note this commit in Linus's tree breaks clang-based systems with the
> following build errors:
>         FATAL ERROR: Unrecognized check name "interrupt_map"
>         FATAL ERROR: Unrecognized check name "node_name_vs_property_name"
>
> Any thoughts about what to do?

I don't think it has anything to do with clang. These messages come
from dtc and there's not any 'test the options are supported'
mechanism for new options. It looks like the dtc update referenced in
Fixes is missing or dtc is stale. There's no error in kernelci[1].

Rob

[1] https://storage.kernelci.org/mainline/master/v5.15-11863-gcb690f5238d7/arm64/allmodconfig/clang-10/logs/kernel.log
Greg KH Nov. 10, 2021, 3:35 p.m. UTC | #5
On Wed, Nov 10, 2021 at 07:48:16AM -0600, Rob Herring wrote:
> On Wed, Nov 10, 2021 at 7:31 AM Greg KH <gregkh@linuxfoundation.org> wrote:
> >
> > On Thu, Oct 28, 2021 at 08:04:23AM -0500, Rob Herring wrote:
> > > The unittest dtbs have various intentional errors which cause warnings.
> > > With the latest dtc sync to v1.6.1-19-g0a3a9d3449c8, we need to disable
> > > some new checks: node_name_vs_property_name and interrupt_map warnings.
> > > These warnings are also generated for static_base_1.dtb, so add
> > > DTC_FLAGS for it.
> > >
> > > Note that the interrupt_map warnings only appear once interrupt_provider
> > > warning is re-enabled globally.
> > >
> > > 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
> > >
> > > Fixes: e76187b9792e ("scripts/dtc: Update to upstream version v1.6.1-19-g0a3a9d3449c8")
> > > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
> > > Cc: Frank Rowand <frowand.list@gmail.com>
> > > Signed-off-by: Rob Herring <robh@kernel.org>
> > > ---
> > >  drivers/of/unittest-data/Makefile | 8 +++++++-
> > >  1 file changed, 7 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/of/unittest-data/Makefile b/drivers/of/unittest-data/Makefile
> > > index a5d2d9254b2c..fbded24c608c 100644
> > > --- a/drivers/of/unittest-data/Makefile
> > > +++ b/drivers/of/unittest-data/Makefile
> > > @@ -37,7 +37,9 @@ DTC_FLAGS_overlay_base += -@
> > >  DTC_FLAGS_testcases += -@
> > >
> > >  # suppress warnings about intentional errors
> > > -DTC_FLAGS_testcases += -Wno-interrupts_property
> > > +DTC_FLAGS_testcases += -Wno-interrupts_property \
> > > +     -Wno-node_name_vs_property_name \
> > > +     -Wno-interrupt_map
> > >
> > >  # Apply overlays statically with fdtoverlay.  This is a build time test that
> > >  # the overlays can be applied successfully by fdtoverlay.  This does not
> > > @@ -82,6 +84,10 @@ apply_static_overlay_1 := overlay_0.dtbo \
> > >
> > >  apply_static_overlay_2 := overlay.dtbo
> > >
> > > +DTC_FLAGS_static_base_1 += -Wno-interrupts_property \
> > > +     -Wno-node_name_vs_property_name \
> > > +     -Wno-interrupt_map
> > > +
> > >  static_test_1-dtbs := static_base_1.dtb $(apply_static_overlay_1)
> > >  static_test_2-dtbs := static_base_2.dtb $(apply_static_overlay_2)
> > >
> > > --
> > > 2.32.0
> > >
> >
> > Note this commit in Linus's tree breaks clang-based systems with the
> > following build errors:
> >         FATAL ERROR: Unrecognized check name "interrupt_map"
> >         FATAL ERROR: Unrecognized check name "node_name_vs_property_name"
> >
> > Any thoughts about what to do?
> 
> I don't think it has anything to do with clang. These messages come
> from dtc and there's not any 'test the options are supported'
> mechanism for new options. It looks like the dtc update referenced in
> Fixes is missing or dtc is stale. There's no error in kernelci[1].

Ah, yes, turns out that Android is building their kernel with an old
version of dtc.  So that's the issue here, I'll go work to fix that
up...

Sorry for the noise.

thanks,

greg k-h
diff mbox series

Patch

diff --git a/drivers/of/unittest-data/Makefile b/drivers/of/unittest-data/Makefile
index a5d2d9254b2c..fbded24c608c 100644
--- a/drivers/of/unittest-data/Makefile
+++ b/drivers/of/unittest-data/Makefile
@@ -37,7 +37,9 @@  DTC_FLAGS_overlay_base += -@
 DTC_FLAGS_testcases += -@
 
 # suppress warnings about intentional errors
-DTC_FLAGS_testcases += -Wno-interrupts_property
+DTC_FLAGS_testcases += -Wno-interrupts_property \
+	-Wno-node_name_vs_property_name \
+	-Wno-interrupt_map
 
 # Apply overlays statically with fdtoverlay.  This is a build time test that
 # the overlays can be applied successfully by fdtoverlay.  This does not
@@ -82,6 +84,10 @@  apply_static_overlay_1 := overlay_0.dtbo \
 
 apply_static_overlay_2 := overlay.dtbo
 
+DTC_FLAGS_static_base_1 += -Wno-interrupts_property \
+	-Wno-node_name_vs_property_name \
+	-Wno-interrupt_map
+
 static_test_1-dtbs := static_base_1.dtb $(apply_static_overlay_1)
 static_test_2-dtbs := static_base_2.dtb $(apply_static_overlay_2)