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

Checks

Context Check Description
robh/checkpatch success
robh/patch-applied success
robh/dt-meta-schema fail build log

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

Rob Herring (Arm) Jan. 19, 2024, 5:15 p.m. UTC | #1
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)

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.
Jonathan Cameron Jan. 21, 2024, 5:17 p.m. UTC | #2
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 | #3
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 | #4
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>;
     };
 ...