Re: kbuild: separate kerneldoc warnings from compiler warnings

Masahiro Yamada
2020-06-22T05:11:05Z

On Sun, Jun 21, 2020 at 3:52 AM Valdis Klētnieks
<valdis.kletnieks@vt.edu> wrote:
>
> This patch introduces a new build flag 'K=1' which controls whether kerneldoc
> warnings should be issued, separating them from the compiler warnings that W=
> controls.

I do not understand why this change is needed.

IIRC, our goal was to enable this check by default.
https://patchwork.kernel.org/patch/10030521/
but there are so many warnings.

Meanwhile, this is checked only when W= is given
because 0-day bot tests with W=1 to
block new kerneldoc warnings.

K=1 ? Do people need to learn this new switch?

> Signed-off-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>
>
> diff --git a/Makefile b/Makefile
> index 29abe44ada91..b1c0f9484a66 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1605,6 +1605,7 @@ PHONY += help
> @echo ' (sparse by default)'
> @echo ' make C=2 [targets] Force check of all c source with $$CHECK'
> @echo ' make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections'
> + @echo ' make K=1 [targets] Warn about problems in kerneldoc comments'
> @echo ' make W=n [targets] Enable extra build checks, n=1,2,3 where'
> @echo ' 1: warnings which may be relevant and do not occur too often'
> @echo ' 2: warnings which occur quite often but may still be relevant'
> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> index 2e8810b7e5ed..9bcb77f5a5f1 100644
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -100,7 +100,7 @@ else ifeq ($(KBUILD_CHECKSRC),2)
> cmd_force_checksrc = $(CHECK) $(CHECKFLAGS) $(c_flags) $<
> endif
>
> -ifneq ($(KBUILD_EXTRA_WARN),)
> +ifneq ($(KBUILD_KDOC_WARN),)
> cmd_checkdoc = $(srctree)/scripts/kernel-doc -none $<
> endif
>
> diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
> index 4aea7cf71d11..3fd5881c91b0 100644
> --- a/scripts/Makefile.extrawarn
> +++ b/scripts/Makefile.extrawarn
> @@ -17,6 +17,12 @@ endif
>
> export KBUILD_EXTRA_WARN
>
> +ifeq ("$(origin K)", "command line")
> + KBUILD_KDOC_WARN := $(K)
> +endif
> +
> +export KBUILD_KDOC_WARN
> +
> #
> # W=1 - warnings which may be relevant and do not occur too often
> #
>
>

--
Best Regards
Masahiro Yamada