2021-10-28 13:07:45

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH v2] of/unittest: Disable new dtc node_name_vs_property_name and interrupt_map warnings

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 <[email protected]>
Cc: Frank Rowand <[email protected]>
Signed-off-by: Rob Herring <[email protected]>
---
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


2021-10-29 01:15:51

by Frank Rowand

[permalink] [raw]
Subject: Re: [PATCH v2] of/unittest: Disable new dtc node_name_vs_property_name and interrupt_map warnings

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 <[email protected]>
> Cc: Frank Rowand <[email protected]>
> Signed-off-by: Rob Herring <[email protected]>
> ---
> 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/[email protected]/

-Frank

2021-10-30 01:51:48

by Frank Rowand

[permalink] [raw]
Subject: Re: [PATCH v2] of/unittest: Disable new dtc node_name_vs_property_name and interrupt_map warnings

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 <[email protected]>
>> Cc: Frank Rowand <[email protected]>
>> Signed-off-by: Rob Herring <[email protected]>
>> ---
>> 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/[email protected]/

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 <[email protected]>
Tested-by: Frank Rowand <[email protected]>

>
> -Frank
>

2021-11-10 13:34:22

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v2] of/unittest: Disable new dtc node_name_vs_property_name and interrupt_map warnings

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 <[email protected]>
> Cc: Frank Rowand <[email protected]>
> Signed-off-by: Rob Herring <[email protected]>
> ---
> 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

2021-11-10 13:51:49

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v2] of/unittest: Disable new dtc node_name_vs_property_name and interrupt_map warnings

On Wed, Nov 10, 2021 at 7:31 AM Greg KH <[email protected]> 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 <[email protected]>
> > Cc: Frank Rowand <[email protected]>
> > Signed-off-by: Rob Herring <[email protected]>
> > ---
> > 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

2021-11-10 15:38:07

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v2] of/unittest: Disable new dtc node_name_vs_property_name and interrupt_map warnings

On Wed, Nov 10, 2021 at 07:48:16AM -0600, Rob Herring wrote:
> On Wed, Nov 10, 2021 at 7:31 AM Greg KH <[email protected]> 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 <[email protected]>
> > > Cc: Frank Rowand <[email protected]>
> > > Signed-off-by: Rob Herring <[email protected]>
> > > ---
> > > 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