lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 29 Sep 2022 10:20:04 +0800
From:   Fenglin Wu <quic_fenglinw@...cinc.com>
To:     Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
        <linux-arm-msm@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
        Pavel Machek <pavel@....cz>, Rob Herring <robh+dt@...nel.org>,
        Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
        <linux-leds@...r.kernel.org>, <devicetree@...r.kernel.org>
CC:     <quic_collinsd@...cinc.com>, <quic_subbaram@...cinc.com>
Subject: Re: [PATCH v1 2/2] dt-bindings: add bindings for QCOM flash LED



On 2022/9/28 16:21, Krzysztof Kozlowski wrote:
> On 28/09/2022 04:42, Fenglin Wu wrote:
>> Add binding document for flash LED module inside Qualcomm Technologies,
>> Inc. PMICs.
>>
>> Signed-off-by: Fenglin Wu <quic_fenglinw@...cinc.com>
> 
> You did not Cc me on first patch, so difficult to say how much it
> matches the driver... There is also no DTS.
Thanks for reviewing the binding change, I sent the driver changes in 
the same series and you can check it here:
https://lore.kernel.org/linux-leds/6c0e5083-baae-3ed3-5eed-e08bbb9e7576@linaro.org/T/#m97f71ce3f291f62d65f8107352d8ab9507093ab2

I will add you in email to list when sending next patchset.
> 
>> ---
>>   .../bindings/leds/leds-qcom-flash.yaml        | 108 ++++++++++++++++++
>>   1 file changed, 108 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/leds/leds-qcom-flash.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/leds/leds-qcom-flash.yaml b/Documentation/devicetree/bindings/leds/leds-qcom-flash.yaml
>> new file mode 100644
>> index 000000000000..52a99182961b
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/leds/leds-qcom-flash.yaml
> 
> 
> Filename matching compatible if there is one fallback (e.g.
> qcom,spmi-flash-led.yaml).
> 
Sure, I will update the file name to match with the fallback compatible 
string.
>> @@ -0,0 +1,108 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/leds/leds-qcom-flash.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Flash LED device inside Qualcomm Technologies, Inc. PMICs
>> +
>> +maintainers:
>> +  - Fenglin Wu <quic_fenglinw@...cinc.com>
>> +
>> +description: |
>> +  Flash LED controller is present inside some Qualcomm Technologies, Inc. PMICs.
>> +  The flash LED module can have different number of LED channels supported
>> +  e.g. 3 or 4. There are some different registers between them but they can
>> +  both support maximum current up to 1.5 A per channel and they can also support
>> +  ganging 2 channels together to supply maximum current up to 2 A. The current
>> +  will be split symmetrically on each channel and they will be enabled and
>> +  disabled at the same time.
>> +
>> +properties:
>> +  compatible:
>> +    items:
>> +      - enum:
>> +          - qcom,spmi-flash-led
>> +          - qcom,pm8150c-flash-led
>> +          - qcom,pm8150l-flash-led
>> +          - qcom,pm8350c-flash-led
> 
> I doubt these are all different. You should use fallback, which also
> will make use of the "items" you used...
pm8150c and pm8150l are different PMIC variants which have same flash 
LED module with 3 flash LED channels, while pm8350c has a different 
flash LED module with 4 flash LED channels. They can all use 
"qcom,spmi-flash-led" as the fallback because the driver has code logic 
to detect HW sub-types. But I was thinking to give out the PMIC names 
here so anyone who is using the driver could easily identify if the 
driver is suitable for the HW that he/she is using.
> 
>> +
>> +  reg:
>> +    description: address offset of the flash LED controller
>> +    maxItems: 1
>> +
>> +patternProperties:
>> +  "^led@[0-3]$":
>> +    type: object
>> +    $ref: common.yaml#
>> +    unevaluatedProperties: false
>> +    description:
>> +      Represents the physical LED components which are connected to the flash LED channels' output.
> 
> Does not look like wrapped at 80.
> 
> Other places as well.
> Sure, will wrap the lines at 80, I thought not exceeding 110 is also 
acceptable.
>> +
>> +    properties:
> 
> Does not look like you tested the bindings...
> 
> You miss here reg.
> 
will update the node name without using unit name.

>> +      led-sources:
>> +        description: The HW indices of the flash LED channels that connect to the physical LED
>> +        allOf:
>> +          - minItems: 1
>> +            maxItems: 2
>> +            items:
>> +              enum: [1, 2, 3, 4]
>> +
>> +      led-max-microamp:
>> +        description: |
>> +          The maximum current value when LED is not operating in flash mode (i.e. torch mode)
>> +          Valid values when an LED is connected to one flash LED channel:
>> +            5000 - 500000, step by 5000> +          Valid values when an LED is connected to two flash LED
> channels:
>> +            10000 - 1000000, step by 10000
> 
> You need minimum and maximum.
> 
Sure, I will add them
>> +
>> +      flash-max-microamp:
>> +        description: |
>> +          The maximum current value when LED is operating in flash mode.
>> +          Valid values when an LED is connected to one flash LED channel:
>> +            12500 - 1500000, step by 12500
>> +          Valid values when an LED is connected to two flash LED channels:
>> +            25000 - 2000000, step by 12500
> 
> You need minimum and maximum.
Sure, I will add them
> 
> 
>> +
>> +      flash-max-timeout-us:
>> +        description: |
>> +          The maximum timeout value when LED is operating in flash mode.
>> +          Valid values: 10000 - 1280000, step by 10000
> 
> You need minimum and maximum.
> 
>> +
>> +    required:
>> +      - led-sources
>> +      - led-max-microamp
> 
> reg.
> 
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/leds/common.h>
>> +    flash-led@...0 {
> 
> Node name: led-controller
> 
>> +            compatible = "qcom,spmi-flash-led";
>> +            reg = <0xee00>;
>> +
>> +            led@0 {
> 
> Test your bindings...
> 
>> +                    function = LED_FUNCTION_FLASH;
> 
> Use 4 spaces for indentation of example.
> 
sure, I will update it.
>> +                    color = <LED_COLOR_ID_WHITE>;
>> +                    led-sources = <1>, <4>;
>> +                    led-max-microamp = <300000>;
>> +                    flash-max-microamp = <2000000>;
>> +                    flash-max-timeout-us = <1280000>;
>> +                    function-enumerator = <0>;
>> +            };
>> +
> 
> Best regards,
> Krzysztof
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ