Re: [PATCH v4 3/4] ASoC: dt-bindings: fsl-sai: allow only one dma-names

From: Rob Herring
Date: Wed Mar 06 2024 - 15:55:33 EST


On Wed, Mar 06, 2024 at 02:25:53PM -0500, Frank Li wrote:
> On Wed, Mar 06, 2024 at 06:45:13PM +0000, Conor Dooley wrote:
> > On Tue, Mar 05, 2024 at 12:33:04PM -0500, Frank Li wrote:
> > > Some sai only connect one direction dma (rx/tx) in SOC. For example:
> > > imx8qxp sai5 only connect tx dma channel. So allow only one "rx" or "tx"
> > > for dma-names.
> > >
> > > Remove description under dmas because no user use index to get dma channel.
> > > All user use 'dma-names' to get correct dma channel. dma-names already in
> > > 'required' list.
> >
> > Acked-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
> >
> > > Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
> > > ---
> > > Documentation/devicetree/bindings/sound/fsl,sai.yaml | 13 ++++++-------
> > > 1 file changed, 6 insertions(+), 7 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/sound/fsl,sai.yaml b/Documentation/devicetree/bindings/sound/fsl,sai.yaml
> > > index 2456d958adeef..6f551c68d33db 100644
> > > --- a/Documentation/devicetree/bindings/sound/fsl,sai.yaml
> > > +++ b/Documentation/devicetree/bindings/sound/fsl,sai.yaml
> > > @@ -81,15 +81,14 @@ properties:
> > >
> > > dmas:
> > > minItems: 1
> > > - items:
> > > - - description: DMA controller phandle and request line for RX
> > > - - description: DMA controller phandle and request line for TX
> > > + maxItems: 2
> > >
> > > dma-names:
> > > - minItems: 1
> > > - items:
> > > - - const: rx
> > > - - const: tx
> > > + oneOf:
> > > + - items:
> > > + - const: rx
> > > + - const: tx
> > > + - enum: [ rx, tx ]
> >
> > I'm not entirely sure if this was Rob's suggestion, I got the impression
> > he was suggesting that in the two items case we'd not care about the
> > order. But while I think this is different to that suggestion it's also
> > not wrong.
>
> I log this at cover-letter. b4 can't support write change log at every
> patch yet.

It never will (probably). That's because it doesn't need to. You can
just do it with git. When you edit the commit message, then after the
tags, Add '---' and put whatever you want after. That works as long as
the commit is applied from a patch as 'git am' will drop it.

> Rob's suggest was not work. dt-binding check complain too long
> if there are two dma-names = "rx", "tx".

So I'm wrong or you didn't have it correct? No way to tell with your
explanation. Let me give you the exact schema:

dma-names:
minItems: 1
items:
- enum: [ rx, tx ]
- const: tx

This says we can have 1 or 2 entries. The first entry can be either rx
or tx. The 2nd entry must be tx. That's what you want. However, '"tx",
"tx"' is allowed with the above, but we enforce items to be unique
elsewhere. Or I thought we did, but we relaxed '.*-names$' at some
point. I'm going to fix that now.

Rob