Re: [PATCH 2/5] dt-bindings: nvmem: add YAML schema for the ONIE tlv layout

From: Rob Herring
Date: Fri Oct 28 2022 - 17:36:06 EST


On Fri, Oct 28, 2022 at 03:44:31PM +0200, Miquel Raynal wrote:
> Hi Rob & Krzysztof,
>
> robh@xxxxxxxxxx wrote on Fri, 28 Oct 2022 07:20:05 -0500:
>
> > On Fri, 28 Oct 2022 11:23:34 +0200, Miquel Raynal wrote:
> > > Add a schema for the ONIE tlv NVMEM layout that can be found on any ONIE
> > > compatible networking device.
> > >
> > > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
> > > ---
> > > .../nvmem/layouts/onie,tlv-layout.yaml | 96 +++++++++++++++++++
> > > 1 file changed, 96 insertions(+)
> > > create mode 100644 Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml
> > >
> >
> > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> > on your patch (DT_CHECKER_FLAGS is new in v5.13):
> >
> > yamllint warnings/errors:
> >
> > dtschema/dtc warnings/errors:
> > Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.example.dtb:0:0: /example-0/onie: failed to match any schema with compatible: ['onie,tlv-layout', 'vendor,device']
>
> Oh right, I wanted to ask about this under the three --- but I forgot.
> Here was my question:
>
> How do we make the checker happy with an example where the second
> compatible can be almost anything (any nvmem-compatible device) but the
> first one should be the layout? (this is currently what Michael's
> proposal uses).

That seems like mixing 2 different meanings for compatibles. Perhaps
that should be split with the nvmem stuff going into a child container
node.

Rob

P.S. Any compatible string starting with 'foo' will pass, but I probably
won't be happy to see that used.