[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e89de497-9c6e-4a4c-8f66-019d349c171b@kernel.org>
Date: Thu, 4 Sep 2025 14:05:08 +0200
From: Hans de Goede <hansg@...nel.org>
To: Krzysztof Kozlowski <krzk@...nel.org>,
Aleksandrs Vinarskis <alex@...arskis.com>
Cc: robh@...nel.org, bryan.odonoghue@...aro.org, conor+dt@...nel.org,
devicetree@...r.kernel.org, krzk+dt@...nel.org, lee@...nel.org,
linux-kernel@...r.kernel.org, linux-leds@...r.kernel.org, pavel@...nel.org
Subject: Re: [PATCH 1/2] dt-bindings: leds: add generic LED consumer
documentation
Hi Krzysztof,
On 4-Sep-25 1:47 PM, Hans de Goede wrote:
> Hi Krzysztof,
>
> On 4-Sep-25 12:47 PM, Krzysztof Kozlowski wrote:
>> On 04/09/2025 12:29, Hans de Goede wrote:
>>> Hi Krzysztof,
>>>
>>> On 4-Sep-25 11:45 AM, Krzysztof Kozlowski wrote:
>>>> On 04/09/2025 09:26, Hans de Goede wrote:
>>>>>>>>> +maintainers:
>>>>>>>>> + - Aleksandrs Vinarskis <alex@...arskis.com>
>>>>>>>>> +
>>>>>>>>> +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.
>>
>>>
>>> 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
>
> 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.
>
> 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
So we already have this as another and IMHO much clenaer way to tie
a LED to a device.
The suggest generic leds = phandle-array property description added
in this new binding just adds a leds-names to give names to the
various indexes in the array which is a very common design-pattern
in dt-bindings.
Regards,
Hans
Powered by blists - more mailing lists