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

From: Rob Herring
Date: Wed Mar 06 2024 - 17:58:51 EST


On Wed, Mar 6, 2024 at 3:19 PM Frank Li <Frank.li@xxxxxxx> wrote:
>
> On Wed, Mar 06, 2024 at 02:55:24PM -0600, Rob Herring wrote:
> > 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.
>
> The key problem is that I don't want to lost notes when respin patches. It
> is easy to make mistake when I copy old serise change logs.

You don't. It is all saved in the commit. When you rebase for the next
version, you just add to the changes history.

> Previously I use git notes + git-rebase, it work fine. Notes can be kept
> when I do rebase and git commit --amend. But one thing is not good.
> git send-email --to-cmd=./script/get_maintainer.sh *.patch. It can't
> combine all patches's maitainer to a list. It looks like difference patch
> will be difference --to list.
>
> b4 can help some case. But can't keep git-notes information when rebase.
> It should be git bugs or feature missed.

git-notes always seemed clunky and to be extra work to me. Just having
the changelog in the commit msg is a lot easier.

> > > 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.
>
> Conor find out my problem. The below code works. I missed maxItems.
>
> dma-names:
> minItems: 1
> maxItems: 2
> items

Missing ':'

> enum: [ rx, tx ]

That is not my suggestion. This would be my 3rd choice after what I
proposed or what you had already. Please plug in exactly what I told
you and report back what doesn't work.

Rob