2022-11-16 11:48:20

by Edmund Berenson

[permalink] [raw]
Subject: [PATCH 2/2] iio/adc: add documentation for adc ad7927

Add the ad7927 compatibility string documentation to
ad7923 driver.

Suggested-by: Lukasz Zemla <[email protected]>
Signed-off-by: Edmund Berenson <[email protected]>
---
Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
index 07f9d1c09c7d..3e9e9a9c18a4 100644
--- a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
@@ -27,6 +27,7 @@ properties:
- adi,ad7924
- adi,ad7908
- adi,ad7918
+ - adi,ad7927
- adi,ad7928

reg:
--
2.37.4



2022-11-16 19:38:22

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH 2/2] iio/adc: add documentation for adc ad7927

On Wed, 16 Nov 2022 11:44:53 +0100
Edmund Berenson <[email protected]> wrote:

> Add the ad7927 compatibility string documentation to
> ad7923 driver.
>
> Suggested-by: Lukasz Zemla <[email protected]>
> Signed-off-by: Edmund Berenson <[email protected]>

Given you treat it as an ad7928 in the driver, can we have
a fallback compatible for it to that part? Would allow people
using older kernels (with newer DT) to get support without needing
to patch the driver.

> ---
> Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> index 07f9d1c09c7d..3e9e9a9c18a4 100644
> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> @@ -27,6 +27,7 @@ properties:
> - adi,ad7924
> - adi,ad7908
> - adi,ad7918
> + - adi,ad7927
> - adi,ad7928
>
> reg:


2022-11-20 13:04:48

by Edmund Berenson

[permalink] [raw]
Subject: [PATCH v2 2/2] dt-bindings: iio: adc: ad7923: adjust documentation

- Add the ad7927 compatibility string, with fallback compatibility
to ad7928.
- ad7923 and ad7924 are treated the same in the driver, show
the relationship in the documentation.

Suggested-by: Lukasz Zemla <[email protected]>
Signed-off-by: Edmund Berenson <[email protected]>
---
.../bindings/iio/adc/adi,ad7923.yaml | 21 +++++++++++--------
1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
index 07f9d1c09c7d..165c4b6863e0 100644
--- a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
@@ -11,7 +11,7 @@ maintainers:

description: |
Analog Devices AD7904, AD7914, AD7923, AD7924 4 Channel ADCs, and AD7908,
- AD7918, AD7928 8 Channels ADCs.
+ AD7918, AD7927, AD7928 8 Channels ADCs.

Specifications about the part can be found at:
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7923.pdf
@@ -20,14 +20,17 @@ description: |

properties:
compatible:
- enum:
- - adi,ad7904
- - adi,ad7914
- - adi,ad7923
- - adi,ad7924
- - adi,ad7908
- - adi,ad7918
- - adi,ad7928
+ oneOf:
+ - const: adi,ad7904
+ - const: adi,ad7914
+ - items:
+ - const: adi,ad7923
+ - const: adi,ad7924
+ - const: adi,ad7908
+ - const: adi,ad7918
+ - items:
+ - const: adi,ad7927
+ - const: adi,ad7928

reg:
maxItems: 1
--
2.37.4


2022-11-20 15:50:03

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: iio: adc: ad7923: adjust documentation


On Sun, 20 Nov 2022 13:45:43 +0100, Edmund Berenson wrote:
> - Add the ad7927 compatibility string, with fallback compatibility
> to ad7928.
> - ad7923 and ad7924 are treated the same in the driver, show
> the relationship in the documentation.
>
> Suggested-by: Lukasz Zemla <[email protected]>
> Signed-off-by: Edmund Berenson <[email protected]>
> ---
> .../bindings/iio/adc/adi,ad7923.yaml | 21 +++++++++++--------
> 1 file changed, 12 insertions(+), 9 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,ad7923.yaml:27:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
./Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml:32:9: [warning] wrong indentation: expected 10 but found 8 (indentation)

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad7923.example.dtb: adc@0: compatible: 'oneOf' conditional failed, one must be fixed:
['adi,ad7928'] is too short
'adi,ad7904' was expected
'adi,ad7914' was expected
'adi,ad7923' was expected
'adi,ad7908' was expected
'adi,ad7918' was expected
'adi,ad7927' was expected
From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad7923.example.dtb: adc@0: Unevaluated properties are not allowed ('compatible' was unexpected)
From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/[email protected]

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

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.


2022-11-20 15:56:33

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: iio: adc: ad7923: adjust documentation

On Sun, Nov 20, 2022 at 01:45:43PM +0100, Edmund Berenson wrote:
> - Add the ad7927 compatibility string, with fallback compatibility
> to ad7928.
> - ad7923 and ad7924 are treated the same in the driver, show
> the relationship in the documentation.
>
> Suggested-by: Lukasz Zemla <[email protected]>
> Signed-off-by: Edmund Berenson <[email protected]>
> ---
> .../bindings/iio/adc/adi,ad7923.yaml | 21 +++++++++++--------
> 1 file changed, 12 insertions(+), 9 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> index 07f9d1c09c7d..165c4b6863e0 100644
> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> @@ -11,7 +11,7 @@ maintainers:
>
> description: |
> Analog Devices AD7904, AD7914, AD7923, AD7924 4 Channel ADCs, and AD7908,
> - AD7918, AD7928 8 Channels ADCs.
> + AD7918, AD7927, AD7928 8 Channels ADCs.
>
> Specifications about the part can be found at:
> https://www.analog.com/media/en/technical-documentation/data-sheets/AD7923.pdf
> @@ -20,14 +20,17 @@ description: |
>
> properties:
> compatible:
> - enum:
> - - adi,ad7904
> - - adi,ad7914
> - - adi,ad7923
> - - adi,ad7924
> - - adi,ad7908
> - - adi,ad7918
> - - adi,ad7928
> + oneOf:
> + - const: adi,ad7904
> + - const: adi,ad7914
> + - items:
> + - const: adi,ad7923
> + - const: adi,ad7924
> + - const: adi,ad7908
> + - const: adi,ad7918

All the single entry 'const' cases can remain an 'enum'.

> + - items:
> + - const: adi,ad7927
> + - const: adi,ad7928
>
> reg:
> maxItems: 1
> --
> 2.37.4
>
>

2022-11-20 18:37:50

by Edmund Berenson

[permalink] [raw]
Subject: [PATCH v3] dt-bindings: iio: adc: ad7923: adjust documentation

- Add the ad7927 compatibility string, with fallback compatibility
to ad7928.
- ad7923 and ad7924 are treated the same in the driver, show
the relationship in the documentation.

Suggested-by: Lukasz Zemla <[email protected]>
Signed-off-by: Edmund Berenson <[email protected]>
---
.../bindings/iio/adc/adi,ad7923.yaml | 26 ++++++++++++-------
1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
index 07f9d1c09c7d..e553853e25d5 100644
--- a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
@@ -11,7 +11,7 @@ maintainers:

description: |
Analog Devices AD7904, AD7914, AD7923, AD7924 4 Channel ADCs, and AD7908,
- AD7918, AD7928 8 Channels ADCs.
+ AD7918, AD7927, AD7928 8 Channels ADCs.

Specifications about the part can be found at:
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7923.pdf
@@ -20,14 +20,22 @@ description: |

properties:
compatible:
- enum:
- - adi,ad7904
- - adi,ad7914
- - adi,ad7923
- - adi,ad7924
- - adi,ad7908
- - adi,ad7918
- - adi,ad7928
+ oneOf:
+ - enum:
+ - adi,ad7904
+ - adi,ad7914
+ - adi,ad7908
+ - adi,ad7918
+ - adi,ad7923
+ - adi,ad7924
+ - adi,ad7927
+ - adi,ad7928
+ - items:
+ - const: adi,ad7923
+ - const: adi,ad7924
+ - items:
+ - const: adi,ad7927
+ - const: adi,ad7928

reg:
maxItems: 1
--
2.37.4


2022-11-21 09:19:53

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: iio: adc: ad7923: adjust documentation

On 20/11/2022 18:06, Edmund Berenson wrote:
> - Add the ad7927 compatibility string, with fallback compatibility
> to ad7928.
> - ad7923 and ad7924 are treated the same in the driver, show
> the relationship in the documentation.
>
> Suggested-by: Lukasz Zemla <[email protected]>
> Signed-off-by: Edmund Berenson <[email protected]>
> ---
> .../bindings/iio/adc/adi,ad7923.yaml | 26 ++++++++++++-------

Do not respond with new patch to some old thread. Each patchset starts a
new thread.

> 1 file changed, 17 insertions(+), 9 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> index 07f9d1c09c7d..e553853e25d5 100644
> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> @@ -11,7 +11,7 @@ maintainers:
>
> description: |
> Analog Devices AD7904, AD7914, AD7923, AD7924 4 Channel ADCs, and AD7908,
> - AD7918, AD7928 8 Channels ADCs.
> + AD7918, AD7927, AD7928 8 Channels ADCs.
>
> Specifications about the part can be found at:
> https://www.analog.com/media/en/technical-documentation/data-sheets/AD7923.pdf
> @@ -20,14 +20,22 @@ description: |
>
> properties:
> compatible:
> - enum:
> - - adi,ad7904
> - - adi,ad7914
> - - adi,ad7923
> - - adi,ad7924
> - - adi,ad7908
> - - adi,ad7918
> - - adi,ad7928
> + oneOf:
> + - enum:
> + - adi,ad7904
> + - adi,ad7914
> + - adi,ad7908

You already started shuffling the entries, so make them ordered. What's
the point of changing the order from one non-sorted to another non-sorted?

> + - adi,ad7918
> + - adi,ad7923
> + - adi,ad7924

Then deprecate this as alone compatible.

> + - adi,ad7927> + - adi,ad7928

Ditto

> + - items:
> + - const: adi,ad7923
> + - const: adi,ad7924

I would expect lower number as fallback.

> + - items:
> + - const: adi,ad7927
> + - const: adi,ad7928

Ditto.

>
> reg:
> maxItems: 1

Best regards,
Krzysztof


2022-11-21 10:36:39

by Edmund Berenson

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: iio: adc: ad7923: adjust documentation

On Mon, Nov 21, 2022 at 10:13:57AM +0100, Krzysztof Kozlowski wrote:
> On 20/11/2022 18:06, Edmund Berenson wrote:
> > - Add the ad7927 compatibility string, with fallback compatibility
> > to ad7928.
> > - ad7923 and ad7924 are treated the same in the driver, show
> > the relationship in the documentation.
> >
> > Suggested-by: Lukasz Zemla <[email protected]>
> > Signed-off-by: Edmund Berenson <[email protected]>
> > ---
> > .../bindings/iio/adc/adi,ad7923.yaml | 26 ++++++++++++-------
>
> Do not respond with new patch to some old thread. Each patchset starts a
> new thread.
>
Sorry I didn't know this is the preferred way. I will send new patch
version as new thread in the future.
> > 1 file changed, 17 insertions(+), 9 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> > index 07f9d1c09c7d..e553853e25d5 100644
> > --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> > @@ -11,7 +11,7 @@ maintainers:
> >
> > description: |
> > Analog Devices AD7904, AD7914, AD7923, AD7924 4 Channel ADCs, and AD7908,
> > - AD7918, AD7928 8 Channels ADCs.
> > + AD7918, AD7927, AD7928 8 Channels ADCs.
> >
> > Specifications about the part can be found at:
> > https://www.analog.com/media/en/technical-documentation/data-sheets/AD7923.pdf
> > @@ -20,14 +20,22 @@ description: |
> >
> > properties:
> > compatible:
> > - enum:
> > - - adi,ad7904
> > - - adi,ad7914
> > - - adi,ad7923
> > - - adi,ad7924
> > - - adi,ad7908
> > - - adi,ad7918
> > - - adi,ad7928
> > + oneOf:
> > + - enum:
> > + - adi,ad7904
> > + - adi,ad7914
> > + - adi,ad7908
>
> You already started shuffling the entries, so make them ordered. What's
> the point of changing the order from one non-sorted to another non-sorted?
>
> > + - adi,ad7918
> > + - adi,ad7923
> > + - adi,ad7924
>
> Then deprecate this as alone compatible.
>
> > + - adi,ad7927> + - adi,ad7928
>
> Ditto
>
> > + - items:
> > + - const: adi,ad7923
> > + - const: adi,ad7924
>
> I would expect lower number as fallback.
If I remove alone compatibility of 7924 and 7927 in the documentation,
I will have to remove explicit compatibility match on the driver side,
correct?
Just want to make sure I don't misunderstand you.
>
> > + - items:
> > + - const: adi,ad7927
> > + - const: adi,ad7928
>
> Ditto.
>
> >
> > reg:
> > maxItems: 1
>
> Best regards,
> Krzysztof
>

Thank you and best regards,
Edmund

2022-11-21 10:51:51

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: iio: adc: ad7923: adjust documentation

On 21/11/2022 11:26, Edmund Berenson wrote:
> On Mon, Nov 21, 2022 at 10:13:57AM +0100, Krzysztof Kozlowski wrote:
>> On 20/11/2022 18:06, Edmund Berenson wrote:
>>> - Add the ad7927 compatibility string, with fallback compatibility
>>> to ad7928.
>>> - ad7923 and ad7924 are treated the same in the driver, show
>>> the relationship in the documentation.
>>>
>>> Suggested-by: Lukasz Zemla <[email protected]>
>>> Signed-off-by: Edmund Berenson <[email protected]>
>>> ---
>>> .../bindings/iio/adc/adi,ad7923.yaml | 26 ++++++++++++-------
>>
>> Do not respond with new patch to some old thread. Each patchset starts a
>> new thread.
>>
> Sorry I didn't know this is the preferred way. I will send new patch
> version as new thread in the future.
>>> 1 file changed, 17 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
>>> index 07f9d1c09c7d..e553853e25d5 100644
>>> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
>>> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
>>> @@ -11,7 +11,7 @@ maintainers:
>>>
>>> description: |
>>> Analog Devices AD7904, AD7914, AD7923, AD7924 4 Channel ADCs, and AD7908,
>>> - AD7918, AD7928 8 Channels ADCs.
>>> + AD7918, AD7927, AD7928 8 Channels ADCs.
>>>
>>> Specifications about the part can be found at:
>>> https://www.analog.com/media/en/technical-documentation/data-sheets/AD7923.pdf
>>> @@ -20,14 +20,22 @@ description: |
>>>
>>> properties:
>>> compatible:
>>> - enum:
>>> - - adi,ad7904
>>> - - adi,ad7914
>>> - - adi,ad7923
>>> - - adi,ad7924
>>> - - adi,ad7908
>>> - - adi,ad7918
>>> - - adi,ad7928
>>> + oneOf:
>>> + - enum:
>>> + - adi,ad7904
>>> + - adi,ad7914
>>> + - adi,ad7908
>>
>> You already started shuffling the entries, so make them ordered. What's
>> the point of changing the order from one non-sorted to another non-sorted?
>>
>>> + - adi,ad7918
>>> + - adi,ad7923
>>> + - adi,ad7924
>>
>> Then deprecate this as alone compatible.
>>
>>> + - adi,ad7927> + - adi,ad7928
>>
>> Ditto
>>
>>> + - items:
>>> + - const: adi,ad7923
>>> + - const: adi,ad7924
>>
>> I would expect lower number as fallback.
> If I remove alone compatibility of 7924 and 7927 in the documentation,

I don't understand. 7924 and 7927 are not compatible with each other -
neither in old code nor in new - so what do you want to remove?

> I will have to remove explicit compatibility match on the driver side,
> correct?
> Just want to make sure I don't misunderstand you.

My comment to which you responded was about order of items. Usually
lower number means older device and usually older device is the fallback.

Best regards,
Krzysztof


2022-11-21 10:52:03

by Edmund Berenson

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: iio: adc: ad7923: adjust documentation

On Mon, Nov 21, 2022 at 11:31:33AM +0100, Krzysztof Kozlowski wrote:
> On 21/11/2022 11:26, Edmund Berenson wrote:
> > On Mon, Nov 21, 2022 at 10:13:57AM +0100, Krzysztof Kozlowski wrote:
> >> On 20/11/2022 18:06, Edmund Berenson wrote:
> >>> - Add the ad7927 compatibility string, with fallback compatibility
> >>> to ad7928.
> >>> - ad7923 and ad7924 are treated the same in the driver, show
> >>> the relationship in the documentation.
> >>>
> >>> Suggested-by: Lukasz Zemla <[email protected]>
> >>> Signed-off-by: Edmund Berenson <[email protected]>
> >>> ---
> >>> .../bindings/iio/adc/adi,ad7923.yaml | 26 ++++++++++++-------
> >>
> >> Do not respond with new patch to some old thread. Each patchset starts a
> >> new thread.
> >>
> > Sorry I didn't know this is the preferred way. I will send new patch
> > version as new thread in the future.
> >>> 1 file changed, 17 insertions(+), 9 deletions(-)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> >>> index 07f9d1c09c7d..e553853e25d5 100644
> >>> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> >>> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> >>> @@ -11,7 +11,7 @@ maintainers:
> >>>
> >>> description: |
> >>> Analog Devices AD7904, AD7914, AD7923, AD7924 4 Channel ADCs, and AD7908,
> >>> - AD7918, AD7928 8 Channels ADCs.
> >>> + AD7918, AD7927, AD7928 8 Channels ADCs.
> >>>
> >>> Specifications about the part can be found at:
> >>> https://www.analog.com/media/en/technical-documentation/data-sheets/AD7923.pdf
> >>> @@ -20,14 +20,22 @@ description: |
> >>>
> >>> properties:
> >>> compatible:
> >>> - enum:
> >>> - - adi,ad7904
> >>> - - adi,ad7914
> >>> - - adi,ad7923
> >>> - - adi,ad7924
> >>> - - adi,ad7908
> >>> - - adi,ad7918
> >>> - - adi,ad7928
> >>> + oneOf:
> >>> + - enum:
> >>> + - adi,ad7904
> >>> + - adi,ad7914
> >>> + - adi,ad7908
> >>
> >> You already started shuffling the entries, so make them ordered. What's
> >> the point of changing the order from one non-sorted to another non-sorted?
> >>
> >>> + - adi,ad7918
> >>> + - adi,ad7923
> >>> + - adi,ad7924
> >>
> >> Then deprecate this as alone compatible.
> >>
> >>> + - adi,ad7927> + - adi,ad7928
> >>
> >> Ditto
> >>
> >>> + - items:
> >>> + - const: adi,ad7923
> >>> + - const: adi,ad7924
> >>
> >> I would expect lower number as fallback.
> > If I remove alone compatibility of 7924 and 7927 in the documentation,
>
> I don't understand. 7924 and 7927 are not compatible with each other -
> neither in old code nor in new - so what do you want to remove?
>
> > I will have to remove explicit compatibility match on the driver side,
> > correct?
> > Just want to make sure I don't misunderstand you.
>
> My comment to which you responded was about order of items. Usually
> lower number means older device and usually older device is the fallback.
My response was meant to respond to both your comment to "deprecate
alone compatibility" and "lower number should be fallback"
Which I understood in the following way: because 7923, 7924 for one and
7927, 7928 are compatible with each other I will remove
7924 compatible string from driver and not add 7927 to the driver and
only add it to the documentation.
> Best regards,
> Krzysztof
>

Thank you and best regards,
Edmund

2022-11-21 12:12:07

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: iio: adc: ad7923: adjust documentation

On 21/11/2022 11:45, Edmund Berenson wrote:

>>>> I would expect lower number as fallback.
>>> If I remove alone compatibility of 7924 and 7927 in the documentation,
>>
>> I don't understand. 7924 and 7927 are not compatible with each other -
>> neither in old code nor in new - so what do you want to remove?
>>
>>> I will have to remove explicit compatibility match on the driver side,
>>> correct?
>>> Just want to make sure I don't misunderstand you.
>>
>> My comment to which you responded was about order of items. Usually
>> lower number means older device and usually older device is the fallback.
> My response was meant to respond to both your comment to "deprecate
> alone compatibility" and "lower number should be fallback"
> Which I understood in the following way: because 7923, 7924 for one and
> 7927, 7928 are compatible with each other I will remove
> 7924 compatible string from driver and not add 7927 to the driver and
> only add it to the documentation.

That's not what I suggested. I said nothing about driver, I did not even
look there. I *only* asked to mark old variants as "deprecated: true".
Not remove anything from drivers as this would be obvious ABI break.


Best regards,
Krzysztof


2022-11-21 12:55:35

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: iio: adc: ad7923: adjust documentation

On Mon, 21 Nov 2022 11:45:32 +0100
Edmund Berenson <[email protected]> wrote:

> On Mon, Nov 21, 2022 at 11:31:33AM +0100, Krzysztof Kozlowski wrote:
> > On 21/11/2022 11:26, Edmund Berenson wrote:
> > > On Mon, Nov 21, 2022 at 10:13:57AM +0100, Krzysztof Kozlowski wrote:
> > >> On 20/11/2022 18:06, Edmund Berenson wrote:
> > >>> - Add the ad7927 compatibility string, with fallback compatibility
> > >>> to ad7928.
> > >>> - ad7923 and ad7924 are treated the same in the driver, show
> > >>> the relationship in the documentation.
> > >>>
> > >>> Suggested-by: Lukasz Zemla <[email protected]>
> > >>> Signed-off-by: Edmund Berenson <[email protected]>
> > >>> ---
> > >>> .../bindings/iio/adc/adi,ad7923.yaml | 26 ++++++++++++-------
> > >>
> > >> Do not respond with new patch to some old thread. Each patchset starts a
> > >> new thread.
> > >>
> > > Sorry I didn't know this is the preferred way. I will send new patch
> > > version as new thread in the future.
> > >>> 1 file changed, 17 insertions(+), 9 deletions(-)
> > >>>
> > >>> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> > >>> index 07f9d1c09c7d..e553853e25d5 100644
> > >>> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> > >>> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
> > >>> @@ -11,7 +11,7 @@ maintainers:
> > >>>
> > >>> description: |
> > >>> Analog Devices AD7904, AD7914, AD7923, AD7924 4 Channel ADCs, and AD7908,
> > >>> - AD7918, AD7928 8 Channels ADCs.
> > >>> + AD7918, AD7927, AD7928 8 Channels ADCs.
> > >>>
> > >>> Specifications about the part can be found at:
> > >>> https://www.analog.com/media/en/technical-documentation/data-sheets/AD7923.pdf
> > >>> @@ -20,14 +20,22 @@ description: |
> > >>>
> > >>> properties:
> > >>> compatible:
> > >>> - enum:
> > >>> - - adi,ad7904
> > >>> - - adi,ad7914
> > >>> - - adi,ad7923
> > >>> - - adi,ad7924
> > >>> - - adi,ad7908
> > >>> - - adi,ad7918
> > >>> - - adi,ad7928
> > >>> + oneOf:
> > >>> + - enum:
> > >>> + - adi,ad7904
> > >>> + - adi,ad7914
> > >>> + - adi,ad7908
> > >>
> > >> You already started shuffling the entries, so make them ordered. What's
> > >> the point of changing the order from one non-sorted to another non-sorted?
> > >>
> > >>> + - adi,ad7918
> > >>> + - adi,ad7923
> > >>> + - adi,ad7924
> > >>
> > >> Then deprecate this as alone compatible.
> > >>
> > >>> + - adi,ad7927> + - adi,ad7928
> > >>
> > >> Ditto
> > >>
> > >>> + - items:
> > >>> + - const: adi,ad7923
> > >>> + - const: adi,ad7924
> > >>
> > >> I would expect lower number as fallback.
> > > If I remove alone compatibility of 7924 and 7927 in the documentation,
> >
> > I don't understand. 7924 and 7927 are not compatible with each other -
> > neither in old code nor in new - so what do you want to remove?
> >
> > > I will have to remove explicit compatibility match on the driver side,
> > > correct?
> > > Just want to make sure I don't misunderstand you.
> >
> > My comment to which you responded was about order of items. Usually
> > lower number means older device and usually older device is the fallback.

Oldest in which sense? I think it should be oldest in order of having
a binding defined, not in order of part releases (and ADI seem to scramble
part numbers fairly randomly so definitely not generally the case that
ordering of numbers has anything much to do with age of part).




> My response was meant to respond to both your comment to "deprecate
> alone compatibility" and "lower number should be fallback"
> Which I understood in the following way: because 7923, 7924 for one and
> 7927, 7928 are compatible with each other I will remove
> 7924 compatible string from driver and not add 7927 to the driver and
> only add it to the documentation.
> > Best regards,
> > Krzysztof
> >
>
> Thank you and best regards,
> Edmund
>


2022-11-21 16:35:02

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: iio: adc: ad7923: adjust documentation

On 21/11/2022 13:45, Jonathan Cameron wrote:
> On Mon, 21 Nov 2022 11:45:32 +0100
> Edmund Berenson <[email protected]> wrote:
>
>> On Mon, Nov 21, 2022 at 11:31:33AM +0100, Krzysztof Kozlowski wrote:
>>> On 21/11/2022 11:26, Edmund Berenson wrote:
>>>> On Mon, Nov 21, 2022 at 10:13:57AM +0100, Krzysztof Kozlowski wrote:
>>>>> On 20/11/2022 18:06, Edmund Berenson wrote:
>>>>>> - Add the ad7927 compatibility string, with fallback compatibility
>>>>>> to ad7928.
>>>>>> - ad7923 and ad7924 are treated the same in the driver, show
>>>>>> the relationship in the documentation.
>>>>>>
>>>>>> Suggested-by: Lukasz Zemla <[email protected]>
>>>>>> Signed-off-by: Edmund Berenson <[email protected]>
>>>>>> ---
>>>>>> .../bindings/iio/adc/adi,ad7923.yaml | 26 ++++++++++++-------
>>>>>
>>>>> Do not respond with new patch to some old thread. Each patchset starts a
>>>>> new thread.
>>>>>
>>>> Sorry I didn't know this is the preferred way. I will send new patch
>>>> version as new thread in the future.
>>>>>> 1 file changed, 17 insertions(+), 9 deletions(-)
>>>>>>
>>>>>> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
>>>>>> index 07f9d1c09c7d..e553853e25d5 100644
>>>>>> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
>>>>>> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7923.yaml
>>>>>> @@ -11,7 +11,7 @@ maintainers:
>>>>>>
>>>>>> description: |
>>>>>> Analog Devices AD7904, AD7914, AD7923, AD7924 4 Channel ADCs, and AD7908,
>>>>>> - AD7918, AD7928 8 Channels ADCs.
>>>>>> + AD7918, AD7927, AD7928 8 Channels ADCs.
>>>>>>
>>>>>> Specifications about the part can be found at:
>>>>>> https://www.analog.com/media/en/technical-documentation/data-sheets/AD7923.pdf
>>>>>> @@ -20,14 +20,22 @@ description: |
>>>>>>
>>>>>> properties:
>>>>>> compatible:
>>>>>> - enum:
>>>>>> - - adi,ad7904
>>>>>> - - adi,ad7914
>>>>>> - - adi,ad7923
>>>>>> - - adi,ad7924
>>>>>> - - adi,ad7908
>>>>>> - - adi,ad7918
>>>>>> - - adi,ad7928
>>>>>> + oneOf:
>>>>>> + - enum:
>>>>>> + - adi,ad7904
>>>>>> + - adi,ad7914
>>>>>> + - adi,ad7908
>>>>>
>>>>> You already started shuffling the entries, so make them ordered. What's
>>>>> the point of changing the order from one non-sorted to another non-sorted?
>>>>>
>>>>>> + - adi,ad7918
>>>>>> + - adi,ad7923
>>>>>> + - adi,ad7924
>>>>>
>>>>> Then deprecate this as alone compatible.
>>>>>
>>>>>> + - adi,ad7927> + - adi,ad7928
>>>>>
>>>>> Ditto
>>>>>
>>>>>> + - items:
>>>>>> + - const: adi,ad7923
>>>>>> + - const: adi,ad7924
>>>>>
>>>>> I would expect lower number as fallback.
>>>> If I remove alone compatibility of 7924 and 7927 in the documentation,
>>>
>>> I don't understand. 7924 and 7927 are not compatible with each other -
>>> neither in old code nor in new - so what do you want to remove?
>>>
>>>> I will have to remove explicit compatibility match on the driver side,
>>>> correct?
>>>> Just want to make sure I don't misunderstand you.
>>>
>>> My comment to which you responded was about order of items. Usually
>>> lower number means older device and usually older device is the fallback.
>
> Oldest in which sense? I think it should be oldest in order of having
> a binding defined, not in order of part releases (and ADI seem to scramble
> part numbers fairly randomly so definitely not generally the case that
> ordering of numbers has anything much to do with age of part).

Older in a meaning of design by ADI. Of course I have no clue whether
this matches incremental numbers...

Best regards,
Krzysztof