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