diff mbox series

[2/3] bindings: hwmon: Add adi,adaq4224_temp as compatible string

Message ID 20231214143648.175336-2-daniel.matyas@analog.com
State New
Headers show
Series None | expand

Commit Message

Matyas, Daniel Dec. 14, 2023, 2:36 p.m. UTC
In the device ada4224 the max31827 temperature sensor will be used, so
the default values corresponding to adaq4224_temp are the same for
max31827.

Signed-off-by: Daniel Matyas <daniel.matyas@analog.com>
---
 Documentation/devicetree/bindings/hwmon/adi,max31827.yaml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Matyas, Daniel Dec. 18, 2023, 9:08 a.m. UTC | #1
> -----Original Message-----
> From: Guenter Roeck <groeck7@gmail.com> On Behalf Of Guenter Roeck
> Sent: Friday, December 15, 2023 6:03 PM
> To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>; Matyas, Daniel
> <Daniel.Matyas@analog.com>
> Cc: Jean Delvare <jdelvare@suse.com>; Rob Herring
> <robh+dt@kernel.org>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@linaro.org>; Conor Dooley
> <conor+dt@kernel.org>; Jonathan Corbet <corbet@lwn.net>; linux-
> hwmon@vger.kernel.org; devicetree@vger.kernel.org; linux-
> kernel@vger.kernel.org; linux-doc@vger.kernel.org
> Subject: Re: [PATCH 2/3] bindings: hwmon: Add adi,adaq4224_temp as
> compatible string
> 
> [External]
> 
> On 12/15/23 00:49, Krzysztof Kozlowski wrote:
> > On 14/12/2023 15:36, Daniel Matyas wrote:
> >> In the device ada4224 the max31827 temperature sensor will be used,
> >> so the default values corresponding to adaq4224_temp are the same
> for
> >> max31827.
> >>
> >> Signed-off-by: Daniel Matyas <daniel.matyas@analog.com>
> >
> > Please use subject prefixes matching the subsystem. You can get them
> > for example with `git log --oneline -- DIRECTORY_OR_FILE` on the
> > directory your patch is touching.
> >
> >> ---
> >>   Documentation/devicetree/bindings/hwmon/adi,max31827.yaml | 5
> ++++-
> >>   1 file changed, 4 insertions(+), 1 deletion(-)
> >>
> >> diff --git
> >> a/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
> >> b/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
> >> index f60e06ab7d0a..9f3b0839aa46 100644
> >> --- a/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
> >> +++
> b/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
> >> @@ -20,6 +20,7 @@ properties:
> >>         - const: adi,max31827
> >>         - items:
> >>             - enum:
> >> +              - adi,adaq4224_temp
> >
> > Underscores are not allowed
> >
> 
> That isn't the main problem with this patch.
> https://urldefense.com/v3/__https://github.com/analogdevicesinc/linux/
> tree/dev_adaq4224_dts__;!!A3Ni8CS0y2Y!_2D1w1DD5sjJrNyArZYZ3QW9
> nS8URmP6X0n6R7q1sBnDB1HPL6jROhD_w9u3fJixt2hDDNtO6VpgLM1Jka
> Q$
> suggests that it may be a development system which utilizes the
> max31827.
>  From there, we can see that there is a devicetree description of a board
> with that name which uses
> 
>                  temperature1: temperature@5f {
>                          compatible = "adi,adaq4224_temp";
>                          reg = <0x5f>;
>                          vref-supply = <&vio>;
> 
>                          adi,comp-int;
>                          adi,alarm-pol = <0>;
>                          adi,fault-q = <1>;
>                          adi,timeout-enable;
>                  };
> 
> That doesn't make sense to me. I don't know why they don't just
> reference max31827.
> I am most definitely not going to accept a driver change just to map
> adi,adaq4224_temp (or adi,adaq4224-temp) to the actually used
> temperature sensor chip. If we start accepting that, we'd end up with no
> end of "<vendor>,<board_name>-{temp,voltage,current,power,...}"
> compatibles.
> 
> Looking more into the above mentioned repository/branch, an earlier
> version of the dts file did reference adi,max31827 for that chip. It also
> looks like there may be an adaq4224 ADC (per drivers/iio/adc/ad4630.c),
> but that would be a SPI chip. It seems highly unlikely that a SPI ADC would
> have a separate I2C interface connected to a temperature sensor.
> Confusing.
> 
> There is also some indication that this may some IP to be loaded into an
> FPGA.
> which utilizes an FPGA implementation of max31827 (or maybe connects
> to one).
> If that is the case, it should still be referenced as max31827.
> 
> All that wasted time because of "let's provide as little as possible
> information about what we are actually doing" :-(.
> 
> Guenter

I asked around to get some more clarification on the matter. There will be a new chip released, named adaq4224. This chip will have the max31827 implemented in the silicon, so the driver used to get temperature information would be max31827.c. The chip will have spi and i2c communication too. The other driver you mentioned, the ad4630.c will communicate through spi.

Because the chip has a different name, I was asked to add a new label for the max31827, so that it will be clear for the user, that the max31827 is part of the chip.

In ad4630.c the indio_dev->name is changed. Would it be ok, if I did something similar? Is there something similar in hwmon? Maybe dev->init_name?

Daniel
Guenter Roeck Dec. 18, 2023, 5:22 p.m. UTC | #2
On 12/18/23 01:08, Matyas, Daniel wrote:
> 
> 
>> -----Original Message-----
>> From: Guenter Roeck <groeck7@gmail.com> On Behalf Of Guenter Roeck
>> Sent: Friday, December 15, 2023 6:03 PM
>> To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>; Matyas, Daniel
>> <Daniel.Matyas@analog.com>
>> Cc: Jean Delvare <jdelvare@suse.com>; Rob Herring
>> <robh+dt@kernel.org>; Krzysztof Kozlowski
>> <krzysztof.kozlowski+dt@linaro.org>; Conor Dooley
>> <conor+dt@kernel.org>; Jonathan Corbet <corbet@lwn.net>; linux-
>> hwmon@vger.kernel.org; devicetree@vger.kernel.org; linux-
>> kernel@vger.kernel.org; linux-doc@vger.kernel.org
>> Subject: Re: [PATCH 2/3] bindings: hwmon: Add adi,adaq4224_temp as
>> compatible string
>>
>> [External]
>>
>> On 12/15/23 00:49, Krzysztof Kozlowski wrote:
>>> On 14/12/2023 15:36, Daniel Matyas wrote:
>>>> In the device ada4224 the max31827 temperature sensor will be used,
>>>> so the default values corresponding to adaq4224_temp are the same
>> for
>>>> max31827.
>>>>
>>>> Signed-off-by: Daniel Matyas <daniel.matyas@analog.com>
>>>
>>> Please use subject prefixes matching the subsystem. You can get them
>>> for example with `git log --oneline -- DIRECTORY_OR_FILE` on the
>>> directory your patch is touching.
>>>
>>>> ---
>>>>    Documentation/devicetree/bindings/hwmon/adi,max31827.yaml | 5
>> ++++-
>>>>    1 file changed, 4 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git
>>>> a/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
>>>> b/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
>>>> index f60e06ab7d0a..9f3b0839aa46 100644
>>>> --- a/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
>>>> +++
>> b/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
>>>> @@ -20,6 +20,7 @@ properties:
>>>>          - const: adi,max31827
>>>>          - items:
>>>>              - enum:
>>>> +              - adi,adaq4224_temp
>>>
>>> Underscores are not allowed
>>>
>>
>> That isn't the main problem with this patch.
>> https://urldefense.com/v3/__https://github.com/analogdevicesinc/linux/
>> tree/dev_adaq4224_dts__;!!A3Ni8CS0y2Y!_2D1w1DD5sjJrNyArZYZ3QW9
>> nS8URmP6X0n6R7q1sBnDB1HPL6jROhD_w9u3fJixt2hDDNtO6VpgLM1Jka
>> Q$
>> suggests that it may be a development system which utilizes the
>> max31827.
>>   From there, we can see that there is a devicetree description of a board
>> with that name which uses
>>
>>                   temperature1: temperature@5f {
>>                           compatible = "adi,adaq4224_temp";
>>                           reg = <0x5f>;
>>                           vref-supply = <&vio>;
>>
>>                           adi,comp-int;
>>                           adi,alarm-pol = <0>;
>>                           adi,fault-q = <1>;
>>                           adi,timeout-enable;
>>                   };
>>
>> That doesn't make sense to me. I don't know why they don't just
>> reference max31827.
>> I am most definitely not going to accept a driver change just to map
>> adi,adaq4224_temp (or adi,adaq4224-temp) to the actually used
>> temperature sensor chip. If we start accepting that, we'd end up with no
>> end of "<vendor>,<board_name>-{temp,voltage,current,power,...}"
>> compatibles.
>>
>> Looking more into the above mentioned repository/branch, an earlier
>> version of the dts file did reference adi,max31827 for that chip. It also
>> looks like there may be an adaq4224 ADC (per drivers/iio/adc/ad4630.c),
>> but that would be a SPI chip. It seems highly unlikely that a SPI ADC would
>> have a separate I2C interface connected to a temperature sensor.
>> Confusing.
>>
>> There is also some indication that this may some IP to be loaded into an
>> FPGA.
>> which utilizes an FPGA implementation of max31827 (or maybe connects
>> to one).
>> If that is the case, it should still be referenced as max31827.
>>
>> All that wasted time because of "let's provide as little as possible
>> information about what we are actually doing" :-(.
>>
>> Guenter
> 
> I asked around to get some more clarification on the matter. There will be a new chip released, named adaq4224. This chip will have the max31827 implemented in the silicon, so the driver used to get temperature information would be max31827.c. The chip will have spi and i2c communication too. The other driver you mentioned, the ad4630.c will communicate through spi.
> 
> Because the chip has a different name, I was asked to add a new label for the max31827, so that it will be clear for the user, that the max31827 is part of the chip.
> 

It is still a max31827 core. If there is no difference in programming
to max31827, it can possibly be reflected in devicetree as
"adi,adaq4224-temp", in addition to "adi,max31827". This would not
require a change in the driver code as "adi,max31827" would still
be mandatory.

But I don't think changing the driver or device name for this purpose
would be appropriate. We don't do that for any of the other hwmon
drivers, and I really don't want to open a floodgate. The lm75 driver
supports more than 20 chips from various different vendors,
but it is still the lm75 driver. The jc42 driver supports many chips
from different vendors, but the driver only has a single
"jedec,jc-42.4-temp" binding, and devices are instantiated as "jc42".
I don't see why this one should be handled differently.

Guenter
Conor Dooley Dec. 19, 2023, 4:47 p.m. UTC | #3
On Mon, Dec 18, 2023 at 09:22:19AM -0800, Guenter Roeck wrote:
> On 12/18/23 01:08, Matyas, Daniel wrote:
> > 
> > 
> > > -----Original Message-----
> > > From: Guenter Roeck <groeck7@gmail.com> On Behalf Of Guenter Roeck
> > > Sent: Friday, December 15, 2023 6:03 PM
> > > To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>; Matyas, Daniel
> > > <Daniel.Matyas@analog.com>
> > > Cc: Jean Delvare <jdelvare@suse.com>; Rob Herring
> > > <robh+dt@kernel.org>; Krzysztof Kozlowski
> > > <krzysztof.kozlowski+dt@linaro.org>; Conor Dooley
> > > <conor+dt@kernel.org>; Jonathan Corbet <corbet@lwn.net>; linux-
> > > hwmon@vger.kernel.org; devicetree@vger.kernel.org; linux-
> > > kernel@vger.kernel.org; linux-doc@vger.kernel.org
> > > Subject: Re: [PATCH 2/3] bindings: hwmon: Add adi,adaq4224_temp as
> > > compatible string
> > > 
> > > [External]
> > > 
> > > On 12/15/23 00:49, Krzysztof Kozlowski wrote:
> > > > On 14/12/2023 15:36, Daniel Matyas wrote:
> > > > > In the device ada4224 the max31827 temperature sensor will be used,
> > > > > so the default values corresponding to adaq4224_temp are the same
> > > for
> > > > > max31827.
> > > > > 
> > > > > Signed-off-by: Daniel Matyas <daniel.matyas@analog.com>
> > > > 
> > > > Please use subject prefixes matching the subsystem. You can get them
> > > > for example with `git log --oneline -- DIRECTORY_OR_FILE` on the
> > > > directory your patch is touching.
> > > > 
> > > > > ---
> > > > >    Documentation/devicetree/bindings/hwmon/adi,max31827.yaml | 5
> > > ++++-
> > > > >    1 file changed, 4 insertions(+), 1 deletion(-)
> > > > > 
> > > > > diff --git
> > > > > a/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
> > > > > b/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
> > > > > index f60e06ab7d0a..9f3b0839aa46 100644
> > > > > --- a/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
> > > > > +++
> > > b/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
> > > > > @@ -20,6 +20,7 @@ properties:
> > > > >          - const: adi,max31827
> > > > >          - items:
> > > > >              - enum:
> > > > > +              - adi,adaq4224_temp
> > > > 
> > > > Underscores are not allowed
> > > > 
> > > 
> > > That isn't the main problem with this patch.
> > > https://urldefense.com/v3/__https://github.com/analogdevicesinc/linux/
> > > tree/dev_adaq4224_dts__;!!A3Ni8CS0y2Y!_2D1w1DD5sjJrNyArZYZ3QW9
> > > nS8URmP6X0n6R7q1sBnDB1HPL6jROhD_w9u3fJixt2hDDNtO6VpgLM1Jka
> > > Q$
> > > suggests that it may be a development system which utilizes the
> > > max31827.
> > >   From there, we can see that there is a devicetree description of a board
> > > with that name which uses
> > > 
> > >                   temperature1: temperature@5f {
> > >                           compatible = "adi,adaq4224_temp";
> > >                           reg = <0x5f>;
> > >                           vref-supply = <&vio>;
> > > 
> > >                           adi,comp-int;
> > >                           adi,alarm-pol = <0>;
> > >                           adi,fault-q = <1>;
> > >                           adi,timeout-enable;
> > >                   };
> > > 
> > > That doesn't make sense to me. I don't know why they don't just
> > > reference max31827.
> > > I am most definitely not going to accept a driver change just to map
> > > adi,adaq4224_temp (or adi,adaq4224-temp) to the actually used
> > > temperature sensor chip. If we start accepting that, we'd end up with no
> > > end of "<vendor>,<board_name>-{temp,voltage,current,power,...}"
> > > compatibles.
> > > 
> > > Looking more into the above mentioned repository/branch, an earlier
> > > version of the dts file did reference adi,max31827 for that chip. It also
> > > looks like there may be an adaq4224 ADC (per drivers/iio/adc/ad4630.c),
> > > but that would be a SPI chip. It seems highly unlikely that a SPI ADC would
> > > have a separate I2C interface connected to a temperature sensor.
> > > Confusing.
> > > 
> > > There is also some indication that this may some IP to be loaded into an
> > > FPGA.
> > > which utilizes an FPGA implementation of max31827 (or maybe connects
> > > to one).
> > > If that is the case, it should still be referenced as max31827.
> > > 
> > > All that wasted time because of "let's provide as little as possible
> > > information about what we are actually doing" :-(.
> > > 
> > > Guenter
> > 
> > I asked around to get some more clarification on the matter. There will be a new chip released, named adaq4224. This chip will have the max31827 implemented in the silicon, so the driver used to get temperature information would be max31827.c. The chip will have spi and i2c communication too. The other driver you mentioned, the ad4630.c will communicate through spi.
> > 
> > Because the chip has a different name, I was asked to add a new label for the max31827, so that it will be clear for the user, that the max31827 is part of the chip.
> > 
> 
> It is still a max31827 core. If there is no difference in programming
> to max31827, it can possibly be reflected in devicetree as
> "adi,adaq4224-temp", in addition to "adi,max31827". This would not
> require a change in the driver code as "adi,max31827" would still
> be mandatory.

I am inclined to agree, but it is very hard to review these bindings
when only partial functionality of the hardware is submitted. Then
subtract any documentation of the device from the picture and clearly
reviewing becomes quite challenging.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml b/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
index f60e06ab7d0a..9f3b0839aa46 100644
--- a/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
+++ b/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
@@ -20,6 +20,7 @@  properties:
       - const: adi,max31827
       - items:
           - enum:
+              - adi,adaq4224_temp
               - adi,max31828
               - adi,max31829
           - const: adi,max31827
@@ -81,7 +82,9 @@  allOf:
       properties:
         compatible:
           contains:
-            const: adi,max31827
+            enum:
+              - adi,max31827
+              - adi,adaq4224_temp
 
     then:
       properties: