Re: [PATCH v4 5/5] dt-bindings: iio: adc: Require generic `channel` name for channel nodes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 10 Apr 2023 22:29:17 +0200
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx> wrote:

> As discussed in [1] it is more convenient to use a generic `channel`
> node name for ADC channels while storing a friendly - board-specific
> instead of PMIC-specific - name in the label, if/when desired to
> overwrite the channel description already contained (but previously
> unused) in the driver [2].
> 
> The same `channel` node name pattern has also been set in
> iio/adc/adc.yaml, but this generic binding is not inherited as base for
> qcom,spmi-vadc bindings due to not having any other generic elements in
> common, besides the node name rule and reg property.
> 
> Replace the .* name pattern with the `channel` literal, but leave the
> label property optional for bindings to choose to fall back a channel
> label hardcoded in the driver [2] instead.
> 
> [1]: https://lore.kernel.org/linux-arm-msm/20221106193018.270106-1-marijn.suijten@xxxxxxxxxxxxxx/T/#u
> [2]: https://lore.kernel.org/linux-arm-msm/20230116220909.196926-4-marijn.suijten@xxxxxxxxxxxxxx/
> 
> Signed-off-by: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>

There are various ways we could pick up this patch set...
a) Binding changes via individual subsystem trees,
b) All in on go.

I think it's late to guarantee to land the changes from (a) in the coming merge window
so if someone else is willing to do (b) then

Acked-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>

Otherwise we can do (a) early in next cycle.  Feel free to poke me if we are doing (b)
and I seem to have forgotten to pick up this patch!

Jonathan

> ---
>  .../bindings/iio/adc/qcom,spmi-vadc.yaml      | 26 ++++++++++---------
>  1 file changed, 14 insertions(+), 12 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml
> index bd6e0d6f6e0c..f30114424b92 100644
> --- a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml
> @@ -54,7 +54,7 @@ required:
>    - '#io-channel-cells'
>  
>  patternProperties:
> -  "^.*@[0-9a-f]+$":
> +  "^channel@[0-9a-f]+$":
>      type: object
>      additionalProperties: false
>      description: |
> @@ -148,7 +148,7 @@ allOf:
>  
>      then:
>        patternProperties:
> -        "^.*@[0-9a-f]+$":
> +        "^channel@[0-9a-f]+$":
>            properties:
>              qcom,decimation:
>                enum: [ 512, 1024, 2048, 4096 ]
> @@ -171,7 +171,7 @@ allOf:
>  
>      then:
>        patternProperties:
> -        "^.*@[0-9a-f]+$":
> +        "^channel@[0-9a-f]+$":
>            properties:
>              qcom,decimation:
>                enum: [ 256, 512, 1024 ]
> @@ -194,7 +194,7 @@ allOf:
>  
>      then:
>        patternProperties:
> -        "^.*@[0-9a-f]+$":
> +        "^channel@[0-9a-f]+$":
>            properties:
>              qcom,decimation:
>                enum: [ 250, 420, 840 ]
> @@ -217,7 +217,7 @@ allOf:
>  
>      then:
>        patternProperties:
> -        "^.*@[0-9a-f]+$":
> +        "^channel@[0-9a-f]+$":
>            properties:
>              qcom,decimation:
>                enum: [ 85, 340, 1360 ]
> @@ -249,7 +249,7 @@ examples:
>              #io-channel-cells = <1>;
>  
>              /* Channel node */
> -            adc-chan@39 {
> +            channel@39 {
>                  reg = <0x39>;
>                  qcom,decimation = <512>;
>                  qcom,ratiometric;
> @@ -258,19 +258,19 @@ examples:
>                  qcom,pre-scaling = <1 3>;
>              };
>  
> -            adc-chan@9 {
> +            channel@9 {
>                  reg = <0x9>;
>              };
>  
> -            adc-chan@a {
> +            channel@a {
>                  reg = <0xa>;
>              };
>  
> -            adc-chan@e {
> +            channel@e {
>                  reg = <0xe>;
>              };
>  
> -            adc-chan@f {
> +            channel@f {
>                  reg = <0xf>;
>              };
>          };
> @@ -292,16 +292,18 @@ examples:
>              #io-channel-cells = <1>;
>  
>              /* Other properties are omitted */
> -            xo-therm@44 {
> +            channel@44 {
>                  reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
>                  qcom,ratiometric;
>                  qcom,hw-settle-time = <200>;
> +                label = "xo_therm";
>              };
>  
> -            conn-therm@47 {
> +            channel@47 {
>                  reg = <PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
>                  qcom,ratiometric;
>                  qcom,hw-settle-time = <200>;
> +                label = "conn_therm";
>              };
>          };
>      };




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux