Re: [PATCH 1/3] dt-bindings: dmaengine: Add one new cell to present hardware slave id

From: Arnd Bergmann
Date: Wed Jan 30 2019 - 11:52:16 EST


On Tue, Jan 22, 2019 at 2:21 PM Baolin Wang <baolin.wang@xxxxxxxxxx> wrote:
>
> The DMA engine clients can trigger DMA engine automatically by setting
> the corresponding hardware slave id for the DMA engine. Thus add one
> cell to present the hardware slave id for DMA clients.
>
> Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/dma/sprd-dma.txt | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/dma/sprd-dma.txt b/Documentation/devicetree/bindings/dma/sprd-dma.txt
> index 7a10fea..7812cf0 100644
> --- a/Documentation/devicetree/bindings/dma/sprd-dma.txt
> +++ b/Documentation/devicetree/bindings/dma/sprd-dma.txt
> @@ -6,8 +6,8 @@ Required properties:
> - compatible: Should be "sprd,sc9860-dma".
> - reg: Should contain DMA registers location and length.
> - interrupts: Should contain one interrupt shared by all channel.
> -- #dma-cells: must be <1>. Used to represent the number of integer
> - cells in the dmas property of client device.
> +- #dma-cells: must be <2>. Used to represent the channel id and slave id
> + of integer cells in the dmas property of client device.
> - #dma-channels : Number of DMA channels supported. Should be 32.
> - clock-names: Should contain the clock of the DMA controller.
> - clocks: Should contain a clock specifier for each entry in clock-names.
> @@ -28,14 +28,16 @@ apdma: dma-controller@20100000 {
>
> Client:
> DMA clients connected to the Spreadtrum DMA controller must use the format
> -described in the dma.txt file, using a two-cell specifier for each channel.
> -The two cells in order are:
> +described in the dma.txt file, using a three-cell specifier for each channel.
> +The three cells in order are:
> 1. A phandle pointing to the DMA controller.
> 2. The channel id.
> +3. The hardware slave id which is used for clients to trigger DMA engine
> +automatically.

I notice that this is an incompatible binding change. Is that necessary?
If the current code works, I'd suggest allowing both #dma-cells=<2>
and <3>, and then implementing both in the driver.

Arnd