Thread (14 messages) 14 messages, 4 authors, 2025-09-04

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 with
There 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help