Re: [PATCH 1/2] dt-bindings: kbuild: Pass DT_SCHEMA_FILES to dt-validate

From: Rob Herring
Date: Fri Mar 04 2022 - 09:31:06 EST


On Fri, Mar 04, 2022 at 03:05:13PM +0100, Geert Uytterhoeven wrote:
> Hi Rob,
>
> On Fri, Mar 4, 2022 at 2:57 PM Rob Herring <robh@xxxxxxxxxx> wrote:
> > On Fri, Mar 04, 2022 at 10:32:29AM +0100, Geert Uytterhoeven wrote:
> > > On Thu, Mar 3, 2022 at 11:43 PM Rob Herring <robh@xxxxxxxxxx> wrote:
> > > > In preparation for supporting validation of DTB files, the full
> > > > processed schema will always be needed in order to extract type
> > > > information from it. Therefore, the processed schema containing only
> > > > what DT_SCHEMA_FILES specifies won't work. Instead, dt-validate has
> > > > gained an option, -l or --limit, to specify which schema(s) to use for
> > > > validation.
> > > >
> > > > As the command line option is new, we the minimum dtschema version must be
> > > > updated.
> > > >
> > > > Cc: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> > > > Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> > >
> > > Thanks for your patch!
> > >
> > > > --- a/Documentation/devicetree/bindings/Makefile
> > > > +++ b/Documentation/devicetree/bindings/Makefile
> > > > @@ -6,7 +6,7 @@ DT_MK_SCHEMA ?= dt-mk-schema
> > > > DT_SCHEMA_LINT := $(shell which yamllint || \
> > > > echo "warning: yamllint not installed, skipping. To install, run 'pip install yamllint'" >&2)
> > > >
> > > > -DT_SCHEMA_MIN_VERSION = 2021.2.1
> > > > +DT_SCHEMA_MIN_VERSION = 2022.3
> > >
> > > This doesn't work as-is, as that version hasn't been tagged yet ;-)
> >
> > I had to make sure people are paying attention. You win the prize. :)
> >
> > It's there now.
>
> Thanks, confirmed.
>
> With this series applied, the various salvator-xs DTS files are now
> throwing up:
>
> sata: size (19) error for type phandle
> backlight: size (11) error for type phandle

Those come from the code decoding the properties[1]. Unfortunately, I
haven't come up with a prettier way to report those with the filename. I
may just remove it because if decoding the property fails, we'll get
schema errors later on anyways.

But I don't see any 'sata' properties in the DTS files and 'backlight'
is a node. Are you building with '-@'? I probably need to skip
__symbols__ nodes. The overlay side is handled because examples are
built as overlays (to allow unresolved phandles).

Rob

[1] https://github.com/devicetree-org/dt-schema/blob/main/dtschema/dtb.py#L149