devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	Daniel Matyas <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/4] dt-bindings: hwmon: Added new properties to the devicetree
Date: Wed, 13 Sep 2023 23:07:36 -0700	[thread overview]
Message-ID: <19c6413c-8837-d4cf-a692-b2846ea47a2c@roeck-us.net> (raw)
In-Reply-To: <c05d0ae9-1711-867e-2595-d5e542d4fa18@linaro.org>

On 9/13/23 22:41, Krzysztof Kozlowski wrote:
> On 13/09/2023 18:43, Guenter Roeck wrote:
>> On 9/13/23 08:40, Krzysztof Kozlowski wrote:
>>> On 13/09/2023 17:21, Daniel Matyas wrote:
>>>
>>> Subject: not much improved. I am sorry, but you are not adding new
>>> properties to entire devicetree of entire world. You are actually not
>>> adding anything to any devicetree, because these are bindings (which is
>>> obvious, as said by prefix).
>>>
>>> You got comments on this.
>>>
>>>> These attributes are:
>>>> 	- adi,comp-int - boolean property
>>>> 	- adi,alrm-pol - can be 0, 1 (if not present, default value)
>>>> 	- adi,flt-q - can be 1, 2, 4, 8 (if not present, default value)
>>>> 	- adi,timeout-enable - boolean property
>>>
>>> Don't repeat what the code does. Explain why you are adding it, what is
>>> the purpose.
>>>
>>>>
>>>> These modify the corresponding bits in the configuration register.
>>>>
>>>> Signed-off-by: Daniel Matyas <daniel.matyas@analog.com>
>>>> ---
>>>>    .../bindings/hwmon/adi,max31827.yaml          | 35 +++++++++++++++++++
>>>>    1 file changed, 35 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml b/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
>>>> index 2dc8b07b4d3b..6bde71bdb8dd 100644
>>>> --- a/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
>>>> +++ b/Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
>>>> @@ -32,6 +32,37 @@ properties:
>>>>          Must have values in the interval (1.6V; 3.6V) in order for the device to
>>>>          function correctly.
>>>>    
>>>> +  adi,comp-int:
>>>> +    description:
>>>> +      If present interrupt mode is used. If not present comparator mode is used
>>>> +      (default).
>>>
>>> Why this is a property of hardware?
>>>
>>
>> Because it affects the behavior of the interrupt signal and whatever
>> it is connected to. For example, it could be connected to an interrupt
>> controller (interupt mode), or it could be connected to a fan which is
>> enabled while the signal is active (comparator mode).
> 
> That makes sense. Pardon my naive questions, I just could not figure out
> use case out of the field description. Based on this very short
> description itself, I could imagine sysfs entry.
> 
>>
>>>> +    type: boolean
>>>> +
>>>> +  adi,alrm-pol:
>>>> +    description:
>>>> +      Sets the alarms active state.
>>>> +            - 0 = active low
>>>> +            - 1 = active high
>>>> +      For max31827 and max31828 the default alarm polarity is low. For max31829
>>>> +      it is high.
>>>> +    $ref: /schemas/types.yaml#/definitions/uint32
>>>> +    enum: [0, 1]
>>>> +
>>>> +  adi,flt-q:
>>>> +    description:
>>>> +      Select how many consecutive temperature faults must occur before
>>>> +      overtemperature or undertemperature faults are indicated in the
>>>> +      corresponding status bits.
>>>> +      For max31827 default fault queue is 1. For max31828 and max31829 it is 4.
>>>> +    $ref: /schemas/types.yaml#/definitions/uint32
>>>> +    enum: [1, 2, 4, 8]
>>>> +
>>>> +  adi,timeout-enable:
>>>> +    description:
>>>> +      Enables timeout. Bus timeout resets the I2C-compatible interface when SCL
>>>> +      is low for more than 30ms (nominal).
>>>
>>> Why this is a property of hardware?
>>>
>>
>> Because it affects i2c bus operation.
>>
>> I am not sure I understand what you are trying to say here.
>> This is a much a "hardware" property as the i2c bus speed
>> and many similar properties, and the need for it is system
>> dependent (for example, a system with many devices on the
>> i2c bus or with a less than perfect i2c controller may need
>> it because the bus tends to get stuck).
>>
>> Those are not properties where one would, at runtime,
>> decide to enable bus timeout or the interrupt mode or
>> the bus speed. Typically that kind of functionality
>> has to be configured early when the system is started.
>> If devicetree must not or no longer be used to describe the
>> system to a point where it can be configured to get it
>> to a working state, what is the suggested alternative ?
> 
> I could imagine enabling it always, unconditionally. I wanted to
> understand why different boards with this chip will have it enabled or
> disabled.
> 

Some boards may need a larger timeout, for example if there is
a chip on the same bus which supports clock stretching.

Guenter


  reply	other threads:[~2023-09-14  6:07 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-13 15:21 [PATCH 0/4] Why no v2? Daniel Matyas
2023-09-13 15:21 ` [PATCH 1/4] hwmon: max31827: Make code cleaner Daniel Matyas
2023-09-13 15:21 ` [PATCH 2/4] dt-bindings: hwmon: Added new properties to the devicetree Daniel Matyas
2023-09-13 15:40   ` Krzysztof Kozlowski
2023-09-13 15:48     ` Matyas, Daniel
2023-09-14  5:43       ` Krzysztof Kozlowski
2023-09-13 16:43     ` Guenter Roeck
2023-09-14  5:41       ` Krzysztof Kozlowski
2023-09-14  6:07         ` Guenter Roeck [this message]
2023-09-13 15:21 ` [PATCH 3/4] hwmon: max31827: Handle new properties from " Daniel Matyas
2023-09-13 16:44   ` Guenter Roeck
2023-09-14  4:39   ` kernel test robot
2023-09-13 15:21 ` [PATCH 4/4] hwmon: max31827: Add custom attribute for resolution Daniel Matyas
2023-09-14 13:34   ` kernel test robot
2023-09-13 16:01 ` [PATCH 0/4] Why no v2? Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=19c6413c-8837-d4cf-a692-b2846ea47a2c@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=conor+dt@kernel.org \
    --cc=corbet@lwn.net \
    --cc=daniel.matyas@analog.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jdelvare@suse.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).