Re: [PATCH net-next 15/16] dt-bindings: net: dwmac: Simplify MTL queue props dependencies

From: Serge Semin
Date: Thu Mar 23 2023 - 11:12:12 EST


On Fri, Mar 17, 2023 at 03:56:04PM -0500, Rob Herring wrote:
> On Tue, Mar 14, 2023 at 01:51:02AM +0300, Serge Semin wrote:
> > Currently the Tx/Rx queues properties interdependencies are described by
> > means of the pattern: "if: required: X, then: properties: Y: false, Z:
> > false, etc". Due to very unfortunate MTL Tx/Rx queue DT-node design the
> > resultant sub-nodes schemas look very bulky and thus hard to read. The
> > situation can be improved by using the "allOf:/oneOf: required: X,
> > required: Y, etc" pattern instead thus getting shorter and a bit easier to
> > comprehend constructions.
> >
> > Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx>
> >
> > ---
>
> Reviewed-by: Rob Herring <robh@xxxxxxxxxx>
>
> >
> > Note the solution can be shortened out a bit further by replacing the
> > single-entry allOf statements with just the "not: required: etc" pattern.
> > But in order to do that the DT-schema validation tool must be fixed like
> > this:
> >
> > --- a/meta-schemas/nodes.yaml 2021-02-08 14:20:56.732447780 +0300
> > +++ b/meta-schemas/nodes.yaml 2021-02-08 14:21:00.736492245 +0300
> > @@ -22,6 +22,7 @@
> > - unevaluatedProperties
> > - deprecated
> > - required
> > + - not
> > - allOf
> > - anyOf
> > - oneOf
>

> This should be added regardless. Can you send a patch to devicetree-spec
> or a GH PR. But I'd skip using that here for now because then we require
> a new version of dtschema.

Ok. I'll send the patch to the devicetree-spec mailing list.

* Note meta-schemas/base.yaml will be fixed in the similar way.

-Serge(y)

>
> Rob