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

From: Rob Herring
Date: Tue Mar 16 2021 - 10:29:03 EST


On Tue, Mar 16, 2021 at 7:55 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
>
> Hi Rob,
>
> 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

Rob