diff mbox series

kbuild: fix W= option checks for extra DTC warnings

Message ID 1516246306-12851-1-git-send-email-yamada.masahiro@socionext.com
State Accepted
Commit f759625ad270898efdf8c153c74021a8a919312b
Headers show
Series kbuild: fix W= option checks for extra DTC warnings | expand

Commit Message

Masahiro Yamada Jan. 18, 2018, 3:31 a.m. UTC
Kbuild supports 3 levels of extra warnings, and multiple levels can
be combined, like W=12, W=123.  It was added by commit a6de553da01c
("kbuild: Allow to combine multiple W= levels").

From the log of commit 8654cb8d0371 ("dtc: update warning settings
for new bus and node/property name checks"), I assume:

 - unit_address_vs_reg, simple_bus_reg, etc. belong to level 1
 - node_name_chars_strict, property_name_chars_strict belong to level 2

However, the level 1 warnings are displayed by any argument to W=.
On the other hand, the level 2 warnings are displayed by W=2, but
not by W=12, or W=123.

Use $(findstring ...) like scripts/Makefile.extrawarn.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

---

Side Notes for possible additional works:

 [1] I implemented DTC extra warnings differently in U-Boot:

    https://github.com/u-boot/u-boot/blob/v2018.01/scripts/Makefile.extrawarn#L64

    Better to collect extra warning stuff into scripts/Makefile.extrawarn ?

 [2] KBUILD_ENABLE_EXTRA_GCC_CHECKS is getting a historical misnomer
     because we use it for Clang and DTC too.

     Better to rename?  (keeping backward-compatibility for a while)?


 scripts/Makefile.lib | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Arnd Bergmann Jan. 18, 2018, 9:25 a.m. UTC | #1
On Thu, Jan 18, 2018 at 4:31 AM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> Kbuild supports 3 levels of extra warnings, and multiple levels can

> be combined, like W=12, W=123.  It was added by commit a6de553da01c

> ("kbuild: Allow to combine multiple W= levels").

>

> From the log of commit 8654cb8d0371 ("dtc: update warning settings

> for new bus and node/property name checks"), I assume:

>

>  - unit_address_vs_reg, simple_bus_reg, etc. belong to level 1

>  - node_name_chars_strict, property_name_chars_strict belong to level 2

>

> However, the level 1 warnings are displayed by any argument to W=.

> On the other hand, the level 2 warnings are displayed by W=2, but

> not by W=12, or W=123.

>

> Use $(findstring ...) like scripts/Makefile.extrawarn.

>

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>


Good catch!

Acked-by: Arnd Bergmann <arnd@arndb.de>


> Side Notes for possible additional works:

>

>  [1] I implemented DTC extra warnings differently in U-Boot:

>

>     https://github.com/u-boot/u-boot/blob/v2018.01/scripts/Makefile.extrawarn#L64

>

>     Better to collect extra warning stuff into scripts/Makefile.extrawarn ?

>

>  [2] KBUILD_ENABLE_EXTRA_GCC_CHECKS is getting a historical misnomer

>      because we use it for Clang and DTC too.

>

>      Better to rename?  (keeping backward-compatibility for a while)?


I'd suggest we leave it for now, I still plan to eventually do my
large rework of
the way we handle extra warning levels, likely that will result in
Makefile.extrawarn
being completely replaced.

       Arnd
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Masahiro Yamada Jan. 28, 2018, 1:41 a.m. UTC | #2
2018-01-18 12:31 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
> Kbuild supports 3 levels of extra warnings, and multiple levels can

> be combined, like W=12, W=123.  It was added by commit a6de553da01c

> ("kbuild: Allow to combine multiple W= levels").

>

> From the log of commit 8654cb8d0371 ("dtc: update warning settings

> for new bus and node/property name checks"), I assume:

>

>  - unit_address_vs_reg, simple_bus_reg, etc. belong to level 1

>  - node_name_chars_strict, property_name_chars_strict belong to level 2

>

> However, the level 1 warnings are displayed by any argument to W=.

> On the other hand, the level 2 warnings are displayed by W=2, but

> not by W=12, or W=123.

>

> Use $(findstring ...) like scripts/Makefile.extrawarn.

>

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> ---

>


Applied to linux-kbuild/kbuild.


-- 
Best Regards
Masahiro Yamada
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox series

Patch

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 1ca4dcd..7dee1da 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -264,7 +264,7 @@  cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -n -f -9 > $@) || \
 DTC ?= $(objtree)/scripts/dtc/dtc
 
 # Disable noisy checks by default
-ifeq ($(KBUILD_ENABLE_EXTRA_GCC_CHECKS),)
+ifeq ($(findstring 1,$(KBUILD_ENABLE_EXTRA_GCC_CHECKS)),)
 DTC_FLAGS += -Wno-unit_address_vs_reg \
 	-Wno-simple_bus_reg \
 	-Wno-unit_address_format \
@@ -273,7 +273,7 @@  DTC_FLAGS += -Wno-unit_address_vs_reg \
 	-Wno-pci_device_reg
 endif
 
-ifeq ($(KBUILD_ENABLE_EXTRA_GCC_CHECKS),2)
+ifneq ($(findstring 2,$(KBUILD_ENABLE_EXTRA_GCC_CHECKS)),)
 DTC_FLAGS += -Wnode_name_chars_strict \
 	-Wproperty_name_chars_strict
 endif