[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a8d4b7a4-2b2d-f724-2417-f8f14e388c98@quantatw.com>
Date: Tue, 1 Mar 2022 00:18:04 +0800
From: POTIN LAI <potin.lai@...ntatw.com>
To: Guenter Roeck <linux@...ck-us.net>,
Jean Delvare <jdelvare@...e.com>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>
Cc: Patrick Williams <patrick@...cx.xyz>, linux-hwmon@...r.kernel.org,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org
Subject: Re: [PATCH v3 2/2] dt-bindings: hwmon: Add sample averaging
properties for ADM1275
Guenter Roeck 於 28/02/2022 10:54 pm 寫道:
> On 2/28/22 02:37, Potin Lai wrote:
>> Add documentation of new properties for sample averaging in PMON_CONFIG
>> register.
>>
>> New properties:
>> - adi,volt-curr-sample-average
>> - adi,power-sample-average
>>
>> Signed-off-by: Potin Lai <potin.lai@...ntatw.com>
>>
>> doc
>> ---
>> .../bindings/hwmon/adi,adm1275.yaml | 39 +++++++++++++++++++
>> 1 file changed, 39 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/hwmon/adi,adm1275.yaml b/Documentation/devicetree/bindings/hwmon/adi,adm1275.yaml
>> index 223393d7cafd..bc4206b257a8 100644
>> --- a/Documentation/devicetree/bindings/hwmon/adi,adm1275.yaml
>> +++ b/Documentation/devicetree/bindings/hwmon/adi,adm1275.yaml
>> @@ -37,6 +37,43 @@ properties:
>> description:
>> Shunt resistor value in micro-Ohm.
>> + adi,volt-curr-sample-average:
>> + description: |
>> + Number of samples to be used to report voltage and current values.
>> + If the configured value is not a power of 2, sample averaging number
>> + will be configured with smaller and closest power of 2.
>> +
>> + $ref: /schemas/types.yaml#/definitions/uint32
>> + minimum: 1
>> + maximum: 128
>> + default: 1
>> +
>> + adi,power-sample-average:
>> + description: |
>> + Number of samples to be used to report power values.
>> + If the configured value is not a power of 2, sample averaging number
>> + will be configured with smaller and closest power of 2.
>> +
>
> Both properties should only accept 1, 2, 4, 8, 16, 32, 64, and 128.
>
> We accept non-exact numbers in sysfs attributes because we can not
> expect the end users to know permitted values, but devicetree authors
> should know what is acceptable. Valid values can be expressed here
> easily with something like
> enum: [1, 2, 4, 8, 16, 32, 64, 128]
>
> This can also be easily tested in the code by ensuring that
> the devicetree property is in the range of 1..128 and has exactly
> one bit set, such as
> if (!val || val > 128 || hweight32(val) != 1)
> or with something like
> if (!val || val > 128 || BIT(__fls(val)) != val)
>
> Guenter
>
Got it, will make the property value only allowed with listed values, and add check in drive code.
Thanks,
Potin
>> + $ref: /schemas/types.yaml#/definitions/uint32
>> + minimum: 1
>> + maximum: 128
>> + default: 1
>> +
>> +if:
>> + not:
>> + properties:
>> + compatible:
>> + contains:
>> + enum:
>> + - adi,adm1272
>> + - adi,adm1278
>> + - adi,adm1293
>> + - adi,adm1294
>> +then:
>> + properties:
>> + adi,power-sample-average:
>> + description: This property is not allowed.
>> +
>> required:
>> - compatible
>> - reg
>> @@ -53,5 +90,7 @@ examples:
>> compatible = "adi,adm1272";
>> reg = <0x10>;
>> shunt-resistor-micro-ohms = <500>;
>> + adi,volt-curr-sample-average = <128>;
>> + adi,power-sample-average = <128>;
>> };
>> };
>
Powered by blists - more mailing lists