Re: [PATCH 2/2] kbuild: Enable DT undocumented compatible checks

From: Geert Uytterhoeven
Date: Tue Mar 16 2021 - 10:35:27 EST


Hi Rob,

On Tue, Mar 16, 2021 at 3:28 PM Rob Herring <robh@xxxxxxxxxx> wrote:
> On Tue, Mar 16, 2021 at 7:55 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> > On Fri, Mar 12, 2021 at 12:38 AM Rob Herring <robh@xxxxxxxxxx> wrote:
> > > dt-validate has an option to warn on any compatible strings which don't
> > > match any schema. The option has recently been improved to fix false
> > > positives, so let's enable the option. This is useful for tracking
> > > compatibles which are undocumented or not yet converted to DT schema.
> > > Previously, the only check of undocumented compatible strings has been
> > > an imperfect checkpatch.pl check.
> > >
> > > The option is enabled by default for 'dtbs_check'. This will add more
> > > warnings, but some platforms are down to only a handful of these
> > > warnings (good job!).
> > >
> > > There's about 100 cases in the binding examples, so the option is
> > > disabled until these are fixed. In the meantime, they can be checked
> > > with:
> > >
> > > make DT_CHECKER_FLAGS=-m dt_binding_check
> > >
> > > Cc: Maxime Ripard <mripard@xxxxxxxxxx>
> > > Cc: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> > > Cc: Michal Marek <michal.lkml@xxxxxxxxxxx>
> > > Cc: linux-kbuild@xxxxxxxxxxxxxxx
> > > Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> >
> > Thanks for your patch!
> >
> > This causes lots of warning when using DT_SCHEMA_FILES, as all
> > compatible values in bindings not specified with DT_SCHEMA_FILES
> > become unknown.
> >
> > Perhaps this should be disabled automatically when DT_SCHEMA_FILES
> > is specified?
>
> Indeed. I'll fix it up like this:
>
> index 90b095c60f79..ad6938468c11 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -360,7 +360,7 @@ $(overlay-y): FORCE
> $(call multi_depend, $(overlay-y), .dtb, -dtbs)
>
> DT_CHECKER ?= dt-validate
> -DT_CHECKER_FLAGS ?= -m
> +DT_CHECKER_FLAGS ?= $(if $(DT_SCHEMA_FILES),,-m)
> DT_BINDING_DIR := Documentation/devicetree/bindings
> # DT_TMP_SCHEMA may be overridden from
> Documentation/devicetree/bindings/Makefile
> DT_TMP_SCHEMA ?= $(objtree)/$(DT_BINDING_DIR)/processed-schema.json

Thanks, works like a charm!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds