diff mbox series

[v6,2/8] dt-bindings: adc: axi-adc: update bindings for backend framework

Message ID 20240119-iio-backend-v6-2-189536c35a05@analog.com
State Superseded
Headers show
Series iio: add new backend framework | expand

Commit Message

Nuno Sa via B4 Relay Jan. 19, 2024, 4 p.m. UTC
From: Nuno Sa <nuno.sa@analog.com>

'adi,adc-dev' is now deprecated and must not be used anymore. Hence,
also remove it from being required.

The reason why it's being deprecated is because the axi-adc CORE is now
an IIO service provider hardware (IIO backends) for consumers to make use
of. Before, the logic with 'adi,adc-dev' was the opposite (it was kind
of consumer referencing other nodes/devices) and that proved to be wrong
and to not scale.

Now, IIO consumers of this hardware are expected to reference it using the
io-backends property. Hence, the new '#io-backend-cells' is being added
so the device is easily identified as a provider.

Signed-off-by: Nuno Sa <nuno.sa@analog.com>
---
 Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Comments

Jonathan Cameron Jan. 21, 2024, 5:17 p.m. UTC | #1
On Fri, 19 Jan 2024 11:15:56 -0600
Rob Herring <robh@kernel.org> wrote:

> On Fri, 19 Jan 2024 17:00:48 +0100, Nuno Sa wrote:
> > 'adi,adc-dev' is now deprecated and must not be used anymore. Hence,
> > also remove it from being required.
> > 
> > The reason why it's being deprecated is because the axi-adc CORE is now
> > an IIO service provider hardware (IIO backends) for consumers to make use
> > of. Before, the logic with 'adi,adc-dev' was the opposite (it was kind
> > of consumer referencing other nodes/devices) and that proved to be wrong
> > and to not scale.
> > 
> > Now, IIO consumers of this hardware are expected to reference it using the
> > io-backends property. Hence, the new '#io-backend-cells' is being added
> > so the device is easily identified as a provider.
> > 
> > Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> > ---
> >  Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml | 8 +++++---
> >  1 file changed, 5 insertions(+), 3 deletions(-)
> >   
> 
> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
> 
> yamllint warnings/errors:
> ./Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml:45:5: [error] syntax error: could not find expected ':' (syntax)
If this is all that comes up for v6, I can fix it up whilst applying.


> 
> dtschema/dtc warnings/errors:
> make[2]: *** Deleting file 'Documentation/devicetree/bindings/iio/adc/adi,axi-adc.example.dts'
> Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml:45:5: could not find expected ':'
> make[2]: *** [Documentation/devicetree/bindings/Makefile:26: Documentation/devicetree/bindings/iio/adc/adi,axi-adc.example.dts] Error 1
> make[2]: *** Waiting for unfinished jobs....
> ./Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml:45:5: could not find expected ':'
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml: ignoring, error parsing file
> make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1424: dt_binding_check] Error 2
> make: *** [Makefile:234: __sub-make] Error 2
> 
> doc reference errors (make refcheckdocs):
> 
> See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240119-iio-backend-v6-2-189536c35a05@analog.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.
>
Rob Herring (Arm) Jan. 22, 2024, 3:34 p.m. UTC | #2
On Sun, Jan 21, 2024 at 05:17:20PM +0000, Jonathan Cameron wrote:
> On Fri, 19 Jan 2024 11:15:56 -0600
> Rob Herring <robh@kernel.org> wrote:
> 
> > On Fri, 19 Jan 2024 17:00:48 +0100, Nuno Sa wrote:
> > > 'adi,adc-dev' is now deprecated and must not be used anymore. Hence,
> > > also remove it from being required.
> > > 
> > > The reason why it's being deprecated is because the axi-adc CORE is now
> > > an IIO service provider hardware (IIO backends) for consumers to make use
> > > of. Before, the logic with 'adi,adc-dev' was the opposite (it was kind
> > > of consumer referencing other nodes/devices) and that proved to be wrong
> > > and to not scale.
> > > 
> > > Now, IIO consumers of this hardware are expected to reference it using the
> > > io-backends property. Hence, the new '#io-backend-cells' is being added
> > > so the device is easily identified as a provider.
> > > 
> > > Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> > > ---
> > >  Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml | 8 +++++---
> > >  1 file changed, 5 insertions(+), 3 deletions(-)
> > >   
> > 
> > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> > on your patch (DT_CHECKER_FLAGS is new in v5.13):
> > 
> > yamllint warnings/errors:
> > ./Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml:45:5: [error] syntax error: could not find expected ':' (syntax)
> If this is all that comes up for v6, I can fix it up whilst applying.

I would not recommend that unless you run the DT checks. This is a YAML 
error which is just the first thing that has to be valid. After that, we 
check against the DT meta-schema. Then we check all the examples 
(because any example could use any schema).

Though, it looks like the above is the only issue.

Reviewed-by: Rob Herring <robh@kernel.org>

Rob
Jonathan Cameron Jan. 22, 2024, 7:18 p.m. UTC | #3
On Mon, 22 Jan 2024 09:34:36 -0600
Rob Herring <robh@kernel.org> wrote:

> On Sun, Jan 21, 2024 at 05:17:20PM +0000, Jonathan Cameron wrote:
> > On Fri, 19 Jan 2024 11:15:56 -0600
> > Rob Herring <robh@kernel.org> wrote:
> >   
> > > On Fri, 19 Jan 2024 17:00:48 +0100, Nuno Sa wrote:  
> > > > 'adi,adc-dev' is now deprecated and must not be used anymore. Hence,
> > > > also remove it from being required.
> > > > 
> > > > The reason why it's being deprecated is because the axi-adc CORE is now
> > > > an IIO service provider hardware (IIO backends) for consumers to make use
> > > > of. Before, the logic with 'adi,adc-dev' was the opposite (it was kind
> > > > of consumer referencing other nodes/devices) and that proved to be wrong
> > > > and to not scale.
> > > > 
> > > > Now, IIO consumers of this hardware are expected to reference it using the
> > > > io-backends property. Hence, the new '#io-backend-cells' is being added
> > > > so the device is easily identified as a provider.
> > > > 
> > > > Signed-off-by: Nuno Sa <nuno.sa@analog.com>
> > > > ---
> > > >  Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml | 8 +++++---
> > > >  1 file changed, 5 insertions(+), 3 deletions(-)
> > > >     
> > > 
> > > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> > > on your patch (DT_CHECKER_FLAGS is new in v5.13):
> > > 
> > > yamllint warnings/errors:
> > > ./Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml:45:5: [error] syntax error: could not find expected ':' (syntax)  
> > If this is all that comes up for v6, I can fix it up whilst applying.  
> 
> I would not recommend that unless you run the DT checks. This is a YAML 
> error which is just the first thing that has to be valid. After that, we 
> check against the DT meta-schema. Then we check all the examples 
> (because any example could use any schema).
I would indeed test it (plus let 0-day hit it before I expose it to next
as well) so hopefully nothing would sneak through.
> 
> Though, it looks like the above is the only issue.

Turned out, not quite - though others also fairly minor, there are enough
of them I expect Nuno will do a v7.

> 
> Reviewed-by: Rob Herring <robh@kernel.org>

Thanks


Jonathan

> 
> Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml b/Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml
index 9996dd93f84b..add10b22dcac 100644
--- a/Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/adi,axi-adc.yaml
@@ -39,12 +39,15 @@  properties:
     $ref: /schemas/types.yaml#/definitions/phandle
     description:
       A reference to a the actual ADC to which this FPGA ADC interfaces to.
+    deprecated: true
+
+  '#io-backends-cells'
+    const: 0
 
 required:
   - compatible
   - dmas
   - reg
-  - adi,adc-dev
 
 additionalProperties: false
 
@@ -55,7 +58,6 @@  examples:
         reg = <0x44a00000 0x10000>;
         dmas = <&rx_dma 0>;
         dma-names = "rx";
-
-        adi,adc-dev = <&spi_adc>;
+        #io-backends-cells = <0>;
     };
 ...