Re: [PATCH 1/2] dt-bindings: leds: add generic LED consumer documentation
From: Rob Herring <robh@kernel.org>
Date: 2025-09-04 14:10:05
Also in:
linux-leds, lkml
On Thu, Sep 04, 2025 at 02:05:08PM +0200, Hans de Goede wrote:
Hi Krzysztof, On 4-Sep-25 1:47 PM, Hans de Goede wrote:quoted
Hi Krzysztof, On 4-Sep-25 12:47 PM, Krzysztof Kozlowski wrote:quoted
On 04/09/2025 12:29, Hans de Goede wrote:quoted
Hi Krzysztof, On 4-Sep-25 11:45 AM, Krzysztof Kozlowski wrote:quoted
On 04/09/2025 09:26, Hans de Goede wrote:quoted
quoted
quoted
quoted
quoted
+maintainers: + - Aleksandrs Vinarskis [off-list ref] + +description: + Some LED defined in DT are required by other DT consumers, for example + v4l2 subnode may require privacy or flash LED. + + Document LED properties that its consumers may define.We already have the trigger-source binding for "attaching" LEDs to devices. Why does that not work here?I have not actually considered this, as the existing privacy-led solution from the original series is not trigger based. At least one of the reasons for that is that trigger source can be rather easily altered from user space, which would've been bad for this use case. If v4l2 acquires control over the LED it actually removes triggers and disables sysfs on that LED.So does that mean that v4l2 solves the problem of "trigger source can be rather easily altered from user space"?Yes, currently the v4l2-core already does:Thanks, I understand that it solves the problem described in the patch, so the patch can be dropped.I'm a bit confused now, do you mean that this dt-bindings patch can be dropped ?Yes. Alex's explanation to Rob felt confusing, so I asked for clarification. You clarfiied that that v4l2 solves the problem, therefore there is no problem to be solved. If there is no problem to be solved, this patch is not needed. If this patch is needed, just describe the problem accurately.quoted
The existing v4l2-core code solves getting the privacy-LED on ACPI/x86_64, on DT there is no official bindings-docs for directly getting a LED withThere are and Rob pointed to them. If Rob's answer is not enough, make it explicit. Really, there are here some long explanations which do not really explain this in simple terms. Simple term is: "existing property foo does not work because <here goes the reason>".The existing trigger-source binding for "attaching" LEDs to devices does not work because: 1. It depends on the Linux specific LED trigger mechanism where as DT should describe hw in an OS agnostic manner
Using a binding does not require using the linux subsystem normally associated with it. Certainly the naming was inspired by the Linux subsystem, but it's really nothing more than a link.
quoted
2. It puts the world upside down by giving possible event-sources for the (again) Linux specific trigger rather then allowing specifying e.g. specific privacy and flash LEDs as part of a camera dts node. IOW it makes the LED DT note point to the camera, while the LED is a part of the camera-module. not the other way around. So it does not properly allow describing the composition of the camera.
Direction of the connection doesn't really matter. You can get the association either way. But certainly one way is easier than the other.
quoted
Note that Rob actually put "" around attaching because this property really is not proper attaching / composition as we would normally do in dt. IMHO 1. alone (this being Linux specific) warrants a new better binding for this.And: 3. There already are bindings using a leds = phandle-array property in: Documentation/devicetree/bindings/leds/leds-group-multicolor.yaml
This is most convincing for me. So please move this to a led-consumer.yaml schema first so we have exactly 1 definition of the property. And summarize the discussion here for why we need this. Rob