[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <mezxKi1PjYxVeMQouXO6GIllmTyc_TxT8zQdbpoDYTutqhJ6q5ydm7Q6MsjM3iiFvVuz0t6Uz80dvIjVaJJrNehz9xvTXTCgZiccv1ihd5Q=@vinarskis.com>
Date: Thu, 04 Sep 2025 22:52:52 +0000
From: Aleksandrs Vinarskis <alex@...arskis.com>
To: Rob Herring <robh@...nel.org>
Cc: Hans de Goede <hansg@...nel.org>, Krzysztof Kozlowski <krzk@...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
On Thursday, September 4th, 2025 at 16:10, Rob Herring <robh@...nel.org> wrote:
>
>
> 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:
> >
> > > 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>".
Ill extend the commit description to better explain why the existing trigger-source
could not be re-used.
> > >
> > > 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.
>
> > > 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.
>
> > > 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
>
Another example using leds = phandle-array in:
Documentation/devicetree/bindings/leds/backlight/led-backlight.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.
Just to confirm that I understood this discussion correctly:
- Keep 'led-consumer.yaml' (with improved description)
- Drop leds property from existing schemas that use it as phandle-array
- Instead reference 'led-consumer.yaml' via 'allOf'. This should also be
added to 'video-interface-devices.yaml' as various camera schemas based
on it typically do not allow unevaluated properties.
Thanks for the reviews,
Alex
>
> Rob
Powered by blists - more mailing lists