[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <176705797007.3053564.852280537388416393.robh@kernel.org>
Date: Mon, 29 Dec 2025 19:26:10 -0600
From: "Rob Herring (Arm)" <robh@...nel.org>
To: Jonathan Brophy <professorjonny98@...il.com>
Cc: Andriy Shevencho <andriy.shevchenko@...ux.intel.com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, lee Jones <lee@...nel.org>,
linux-kernel@...r.kernel.org, linux-leds@...r.kernel.org,
Conor Dooley <conor+dt@...nel.org>, Pavel Machek <pavel@...nel.org>,
Jonathan Brophy <professor_jonny@...mail.com>,
Radoslav Tsvetkov <rtsvetkov@...dotech.eu>, devicetree@...r.kernel.org
Subject: Re: [PATCH v4 3/7] dt-bindings: leds: Add virtual LED group
controller bindings
On Tue, 30 Dec 2025 13:32:40 +1300, Jonathan Brophy wrote:
> From: Jonathan Brophy <professor_jonny@...mail.com>
>
> Add device tree bindings for the virtual LED group controller that
> provides priority-based arbitration for shared physical LEDs across
> multiple virtual LED instances.
>
> 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.
>
> 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 or a single trigger.
>
> It also becomes useful with multiple LEDs operating the same indicator such as
> ring of light indicators, led rope where the LEDs are driven From different GPIO
> outputs unifying the control that can give basic indication during system startup,
> shutdown upgrade etc...
> The controller implements winner-takes-all arbitration where only the
> highest-priority active virtual LED controls the hardware at any given
> time. This enables multiple subsystems (boot, error, status indicators)
> to request LED control without explicit coordination.
>
> Binding supports:
> - Multiple virtual LED children with independent priorities
> - GPIO, PWM, I2C, and SPI physical LED devices
> - Multicolor and standard (fixed-color) operating modes
> - Global ownership tracking to prevent conflicts
>
> Example configurations include:
> - High-priority emergency/error RGB indicator
> - Medium-priority system state RGBW indicator
> - Low-priority warm white fixed-color indicator
>
> 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 | 170 ++++++++++++++++++
> 1 file changed, 170 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/leds/leds-group-virtualcolor.yaml
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/leds-group-virtualcolor.example.dtb: pwm-led-controller (pwm-leds): 'led-pwm-blue', 'led-pwm-green', 'led-pwm-red' do not match any of the regexes: '^led(-[0-9a-f]+)?$', '^pinctrl-[0-9]+$'
from schema $id: http://devicetree.org/schemas/leds/leds-pwm.yaml
doc reference errors (make refcheckdocs):
See https://patchwork.kernel.org/project/devicetree/patch/20251230003250.1197744-4-professorjonny98@gmail.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
Powered by blists - more mailing lists