[PATCH v2 2/2] dt-bindings: dma: adi,axi-dmac: deprecate adi,channels node

David Lechner posted 2 patches 3 weeks, 5 days ago
There is a newer version of this series
[PATCH v2 2/2] dt-bindings: dma: adi,axi-dmac: deprecate adi,channels node
Posted by David Lechner 3 weeks, 5 days ago
Deprecate the adi,channels node in the adi,axi-dmac binding. Prior to
IP version 4.3.a, this information was required. Since then, there are
memory-mapped registers that can be read to get the same information.

Acked-by: Nuno Sa <nuno.sa@analog.com>
Signed-off-by: David Lechner <dlechner@baylibre.com>
---

For context, the adi,channels node has not been required in the Linux
kernel since [1].

[1]: https://lore.kernel.org/all/20200825151950.57605-7-alexandru.ardelean@analog.com/
---
 .../devicetree/bindings/dma/adi,axi-dmac.yaml         | 19 +++++--------------
 1 file changed, 5 insertions(+), 14 deletions(-)

diff --git a/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml b/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml
index b1f4bdcab4fd..4a4295e699f0 100644
--- a/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml
+++ b/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml
@@ -33,8 +33,12 @@ properties:
     const: 1
 
   adi,channels:
+    deprecated: true
     type: object
-    description: This sub-node must contain a sub-node for each DMA channel.
+    description:
+      This sub-node must contain a sub-node for each DMA channel. This node is
+      only required for IP versions older than 4.3.a and should otherwise be
+      omitted.
     additionalProperties: false
 
     properties:
@@ -123,17 +127,4 @@ examples:
         interrupts = <0 57 0>;
         clocks = <&clkc 16>;
         #dma-cells = <1>;
-
-        adi,channels {
-            #size-cells = <0>;
-            #address-cells = <1>;
-
-            dma-channel@0 {
-                reg = <0>;
-                adi,source-bus-width = <32>;
-                adi,source-bus-type = <0>; /* Memory mapped */
-                adi,destination-bus-width = <64>;
-                adi,destination-bus-type = <2>; /* FIFO */
-            };
-        };
     };

-- 
2.43.0
Re: [PATCH v2 2/2] dt-bindings: dma: adi,axi-dmac: deprecate adi,channels node
Posted by Rob Herring (Arm) 3 weeks, 4 days ago
On Tue, 29 Oct 2024 14:29:15 -0500, David Lechner wrote:
> Deprecate the adi,channels node in the adi,axi-dmac binding. Prior to
> IP version 4.3.a, this information was required. Since then, there are
> memory-mapped registers that can be read to get the same information.
> 
> Acked-by: Nuno Sa <nuno.sa@analog.com>
> Signed-off-by: David Lechner <dlechner@baylibre.com>
> ---
> 
> For context, the adi,channels node has not been required in the Linux
> kernel since [1].
> 
> [1]: https://lore.kernel.org/all/20200825151950.57605-7-alexandru.ardelean@analog.com/
> ---
>  .../devicetree/bindings/dma/adi,axi-dmac.yaml         | 19 +++++--------------
>  1 file changed, 5 insertions(+), 14 deletions(-)
> 

With 'required' fixed:

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Re: [PATCH v2 2/2] dt-bindings: dma: adi,axi-dmac: deprecate adi,channels node
Posted by Rob Herring (Arm) 3 weeks, 5 days ago
On Tue, 29 Oct 2024 14:29:15 -0500, David Lechner wrote:
> Deprecate the adi,channels node in the adi,axi-dmac binding. Prior to
> IP version 4.3.a, this information was required. Since then, there are
> memory-mapped registers that can be read to get the same information.
> 
> Acked-by: Nuno Sa <nuno.sa@analog.com>
> Signed-off-by: David Lechner <dlechner@baylibre.com>
> ---
> 
> For context, the adi,channels node has not been required in the Linux
> kernel since [1].
> 
> [1]: https://lore.kernel.org/all/20200825151950.57605-7-alexandru.ardelean@analog.com/
> ---
>  .../devicetree/bindings/dma/adi,axi-dmac.yaml         | 19 +++++--------------
>  1 file changed, 5 insertions(+), 14 deletions(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/dma/adi,axi-dmac.example.dtb: dma-controller@7c420000: 'adi,channels' is a required property
	from schema $id: http://devicetree.org/schemas/dma/adi,axi-dmac.yaml#

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241029-axi-dma-dt-yaml-v2-2-52a6ec7df251@baylibre.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
Re: [PATCH v2 2/2] dt-bindings: dma: adi,axi-dmac: deprecate adi,channels node
Posted by David Lechner 3 weeks, 5 days ago
On 10/29/24 3:42 PM, Rob Herring (Arm) wrote:
> 
> On Tue, 29 Oct 2024 14:29:15 -0500, David Lechner wrote:
>> Deprecate the adi,channels node in the adi,axi-dmac binding. Prior to
>> IP version 4.3.a, this information was required. Since then, there are
>> memory-mapped registers that can be read to get the same information.
>>
>> Acked-by: Nuno Sa <nuno.sa@analog.com>
>> Signed-off-by: David Lechner <dlechner@baylibre.com>
>> ---
>>
>> For context, the adi,channels node has not been required in the Linux
>> kernel since [1].
>>
>> [1]: https://lore.kernel.org/all/20200825151950.57605-7-alexandru.ardelean@analog.com/
>> ---
>>  .../devicetree/bindings/dma/adi,axi-dmac.yaml         | 19 +++++--------------
>>  1 file changed, 5 insertions(+), 14 deletions(-)
>>
> 
> My bot found errors running 'make dt_binding_check' on your patch:
> 
> yamllint warnings/errors:
> 
> dtschema/dtc warnings/errors:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/dma/adi,axi-dmac.example.dtb: dma-controller@7c420000: 'adi,channels' is a required property
> 	from schema $id: http://devicetree.org/schemas/dma/adi,axi-dmac.yaml#
> 
> doc reference errors (make refcheckdocs):
> 
> See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241029-axi-dma-dt-yaml-v2-2-52a6ec7df251@baylibre.com
> 
> The base for the series is generally the latest rc1. A different dependency
> should be noted in *this* patch.
> 
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:
> 
> pip3 install dtschema --upgrade
> 
> Please check and re-submit after running the above command yourself. Note
> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
> your schema. However, it must be unset to test all examples with your schema.
> 

Ugh, somehow lost a line from v1 in the rebase and didn't notice.

This is the part missing from this patch:

@@ -109,7 +113,6 @@ required:
   - interrupts
   - clocks
   - "#dma-cells"
-  - adi,channels
 
 additionalProperties: false
 

Will wait a bit for other feedback and then send a fixed version.