On Tue, May 7, 2019 at 1:07 PM Maxime Ripard <maxime.ripard@xxxxxxxxxxx> wrote: > > The H3 and compatibles controllers don't have any reception capabilities, > even though it was never documented as such in the binding before. > > Therefore, on those controllers, we don't have the option to set an RX DMA > channel. > > This was already done in the DTSI, but the binding itself was never > updated. Let's add a special case in the schemas. > > Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxx> > > --- > > Changes from v1: > - switch to a draft7 conditional > --- > Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-spdif.yaml | 45 ++++++++++++++++++++++++++++++++++++--------- > 1 file changed, 36 insertions(+), 9 deletions(-) > > diff --git a/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-spdif.yaml b/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-spdif.yaml > index 5698e5de5e31..8f1bc1a1af96 100644 > --- a/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-spdif.yaml > +++ b/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-spdif.yaml > @@ -44,15 +44,8 @@ properties: > - const: apb > - const: spdif > > - dmas: > - items: > - - description: RX DMA Channel > - - description: TX DMA Channel > - > - dma-names: > - items: > - - const: rx > - - const: tx > + dmas: true > + dma-names: true > > resets: > maxItems: 1 > @@ -70,6 +63,40 @@ allOf: > required: > - resets > > + - if: > + properties: > + compatible: > + contains: > + const: allwinner,sun8i-h3-spdif > + > + then: > + properties: > + dmas: > + maxItems: 1 In this and below, these should get added automatically by fixup_schema. If not present, we set minItems/maxItems to the size of the items list. It look like you added support for that, so left over from before you addressed that for if/then/else? > + items: > + - description: RX DMA Channel s/RX/TX/ > + > + dma-names: > + maxItems: 1 > + items: > + - const: tx > + > + else: > + properties: > + dmas: > + minItems: 2 > + maxItems: 2 > + items: > + - description: RX DMA Channel > + - description: TX DMA Channel > + > + dma-names: > + minItems: 2 > + maxItems: 2 > + items: > + - const: rx > + - const: tx I'm really on the fence whether it's worth it to add all this just add the restrictions based on the compatible. I guess with copy-n-paste this would be a common error. Rob