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]
Message-ID: <4aae2f80-3b05-4583-a1c0-6b711fe3b879@kernel.org>
Date: Sun, 19 Oct 2025 12:43:14 +0200
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Jonathan Brophy <professorjonny98@...il.com>, lee Jones <lee@...nel.org>,
 Pavel Machek <pavel@...nel.org>,
 Jonathan Brophy <professor_jonny@...mail.com>, Rob Herring
 <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
 Conor Dooley <conor+dt@...nel.org>,
 Radoslav Tsvetkov <rtsvetkov@...dotech.eu>
Cc: devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
 linux-leds@...r.kernel.org
Subject: Re: [PATCH v3 2/4] dt-bindings: leds: Add virtualcolor group dt
 bindings documentation.

On 19/10/2025 11:23, Jonathan Brophy wrote:
> From: Jonathan Brophy <professor_jonny@...mail.com>
> 
> Add device tree binding documentation for the virtual LED group driver
> that implements virtual LED groups by aggregating multiple monochromatic
> LEDs
> 
> Bindings for the virtual driver are not describing hardware LEDs they
> describe virtual devices made from groups of hardware LEDs created from an array
> of LED phandles.


Don't describe DT syntax, but hardware. Phandles are not important here.
How the board, system looks like? What are you achieving here?

> 
> Normally the device tree is used to describe hardware not virtual hardware
> but it is particularly useful in situations where you require an LED to be a
> specific color by mixing primary colors, such as multi element multi color LEDs
> to be operated from a device tree binding.


Please describe the hardware and usecase, and then say how existing
bindings cannot cover it so binding solves that use case. Write concise,
yet informative statements. We all now how DT works, this you do not
have to explain to us.

But we need to know WHY we want this code.

> 
> It also becomes useful with multiple LEDs operating the same indicator such as
> ring of light indicators where the LEDs are driven From different GPIO outputs
> unifying the control that can give basic indication during system startup,
> shutdown upgrade etc...
> 
> co-developed-by: Radoslav Tsvetkov <rtsvetkov@...dotech.eu>
> Signed-off-by: Radoslav Tsvetkov <rtsvetkov@...dotech.eu>
> Signed-off-by: Jonathan Brophy <professor_jonny@...mail.com>
> ---
>  .../leds/leds-group-virtualcolor.yaml         | 110 ++++++++++++++++++
>  1 file changed, 110 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/leds/leds-group-virtualcolor.yaml
> 
> diff --git a/Documentation/devicetree/bindings/leds/leds-group-virtualcolor.yaml b/Documentation/devicetree/bindings/leds/leds-group-virtualcolor.yaml
> new file mode 100644
> index 000000000000..f638bdd4d65e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/leds/leds-group-virtualcolor.yaml
> @@ -0,0 +1,110 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/leds/leds-group-virtualcolor.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +title: virtualcolor LED group driver
> +maintainers:
> +  - Radoslav Tsvetkov <rtsvetkov@...dotech.eu>
> +description: |
> +  Implements virtual LED groups by aggregating multiple monochromatic LEDs.
> +  Provides priority-based control for managing concurrent LED activation requests,
> +  ensuring only the highest-priority LED state is active at any given time.
> +properties:
> +  compatible:
> +    const: leds-group-virtualcolor
> +  '#address-cells':
> +    const: 1
> +  '#size-cells':
> +    const: 0
> +patternProperties:
> +  "^virtual":
> +    $ref: leds-class-virtualcolor.yaml#
> +required:
> +  - compatible
> +additionalProperties: false
> +examples:
> +  - |


Totally corrupted patch.

I don't understand the changes. Please start from scratch from latest
reviewed binding or example schema.



> +    #include <dt-bindings/leds/common.h>
> +    #include <dt-bindings/gpio/gpio.h>
> +
> +    led-controller {
> +        compatible = "gpio-leds";
> +        led_red: led_red {
> +            gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
> +            default-state = "off";
> +        };
> +        led_green: led_green {
> +            gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
> +            default-state = "off";
> +        };
> +        led_blue: led_blue {
> +            gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
> +            default-state = "off";
> +        };
> +    };
> +
> +    pwm-led-controller {
> +        compatible = "pwm-leds";
> +
> +        led_1: led-1 {
> +            color = <LED_COLOR_ID_RED>;
> +            pwms = <&twl_pwm 0 7812500>;
> +        };
> +
> +        led_2: led-2 {
> +            color = <LED_COLOR_ID_GREEN>;
> +            pwms = <&twl_pwmled 0 7812500>;
> +        };
> +
> +        led_3: led-3 {
> +            color = <LED_COLOR_ID_RED>;
> +            pwms = <&twl_pwm 0 7812500>;
> +        };
> +
> +        led_4: led-4 {
> +            color = <LED_COLOR_ID_GREEN>;
> +            pwms = <&twl_pwmled 0 7812500>;
> +        };
> +
> +    };
> +
> +    virtual-led-controller {
> +        compatible = "leds-group-virtualcolor";
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        virtual_red@0 {


Follow DTS coding style.



Best regards,
Krzysztof

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ