Message ID | 20210311233640.1581526-2-robh@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] dt-bindings: Bump dtschema version required to v2021.2.1 | expand |
Hi Rob, On Fri, Mar 12, 2021 at 12:38 AM Rob Herring <robh@kernel.org> 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@kernel.org> > Cc: Masahiro Yamada <masahiroy@kernel.org> > Cc: Michal Marek <michal.lkml@markovi.net> > Cc: linux-kbuild@vger.kernel.org > Signed-off-by: Rob Herring <robh@kernel.org> 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? Gr{oetje,eeting}s, Geert
On Tue, Mar 16, 2021 at 7:55 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > Hi Rob, > > On Fri, Mar 12, 2021 at 12:38 AM Rob Herring <robh@kernel.org> 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@kernel.org> > > Cc: Masahiro Yamada <masahiroy@kernel.org> > > Cc: Michal Marek <michal.lkml@markovi.net> > > Cc: linux-kbuild@vger.kernel.org > > Signed-off-by: Rob Herring <robh@kernel.org> > > 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
Hi Rob, On Tue, Mar 16, 2021 at 3:28 PM Rob Herring <robh@kernel.org> wrote: > On Tue, Mar 16, 2021 at 7:55 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > On Fri, Mar 12, 2021 at 12:38 AM Rob Herring <robh@kernel.org> 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@kernel.org> > > > Cc: Masahiro Yamada <masahiroy@kernel.org> > > > Cc: Michal Marek <michal.lkml@markovi.net> > > > Cc: linux-kbuild@vger.kernel.org > > > Signed-off-by: Rob Herring <robh@kernel.org> > > > > 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
diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile index 81f0b3294c64..bc24ee316726 100644 --- a/Documentation/devicetree/bindings/Makefile +++ b/Documentation/devicetree/bindings/Makefile @@ -55,6 +55,9 @@ override DTC_FLAGS := \ -Wno-graph_child_address \ -Wno-interrupt_provider +# Disable undocumented compatible checks until warning free +override DT_CHECKER_FLAGS ?= + $(obj)/processed-schema-examples.json: $(DT_DOCS) $(src)/.yamllint check_dtschema_version FORCE $(call if_changed_rule,chkdt) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index eee59184de64..f11fac1a8e9b 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -339,12 +339,13 @@ $(obj)/%.dtbo: $(src)/%.dts $(DTC) FORCE $(call if_changed_dep,dtc) DT_CHECKER ?= dt-validate +DT_CHECKER_FLAGS ?= -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 quiet_cmd_dtb_check = CHECK $@ - cmd_dtb_check = $(DT_CHECKER) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA) $@ + cmd_dtb_check = $(DT_CHECKER) $(DT_CHECKER_FLAGS) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA) $@ define rule_dtc $(call cmd_and_fixdep,dtc)
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@kernel.org> Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: Michal Marek <michal.lkml@markovi.net> Cc: linux-kbuild@vger.kernel.org Signed-off-by: Rob Herring <robh@kernel.org> --- Documentation/devicetree/bindings/Makefile | 3 +++ scripts/Makefile.lib | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-)