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

From: Miquel Raynal
Date: Fri Nov 04 2022 - 06:56:19 EST


Hi Rob,

robh@xxxxxxxxxx wrote on Fri, 28 Oct 2022 16:35:56 -0500:

> 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.

Ok, I've scratched my forehead a little bit and came with something (I
hope) better. I've taken over the binding patches from Michael's
original series to show how they conform with my changes. Basically
I've introduced an nvmem-layout container node which will improve a lot
the description without mixing everything. More details in the upcoming
series.

Thanks, Miquèl