linux-leds.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Hans de Goede <hansg@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
	Aleksandrs Vinarskis <alex@vinarskis.com>,
	bryan.odonoghue@linaro.org, conor+dt@kernel.org,
	devicetree@vger.kernel.org, krzk+dt@kernel.org, lee@kernel.org,
	linux-kernel@vger.kernel.org, linux-leds@vger.kernel.org,
	pavel@kernel.org
Subject: Re: [PATCH 1/2] dt-bindings: leds: add generic LED consumer documentation
Date: Thu, 4 Sep 2025 09:10:04 -0500	[thread overview]
Message-ID: <20250904141004.GA3875305-robh@kernel.org> (raw)
In-Reply-To: <e89de497-9c6e-4a4c-8f66-019d349c171b@kernel.org>

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@vinarskis.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
> > 

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

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

  reply	other threads:[~2025-09-04 14:10 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20250902-leds-v1-0-4a31e125276b@vinarskis.com>
2025-09-02 11:10 ` [PATCH 1/2] dt-bindings: leds: add generic LED consumer documentation Aleksandrs Vinarskis
2025-09-02 17:57   ` Rob Herring (Arm)
2025-09-02 18:21   ` Rob Herring
2025-09-03 23:56     ` Aleksandrs Vinarskis
2025-09-04  6:41       ` Krzysztof Kozlowski
2025-09-04  7:26         ` Hans de Goede
2025-09-04  9:45           ` Krzysztof Kozlowski
2025-09-04 10:29             ` Hans de Goede
2025-09-04 10:47               ` Krzysztof Kozlowski
2025-09-04 11:47                 ` Hans de Goede
2025-09-04 12:05                   ` Hans de Goede
2025-09-04 14:10                     ` Rob Herring [this message]
2025-09-04 22:52                       ` Aleksandrs Vinarskis
2025-09-04 23:03               ` Aleksandrs Vinarskis
2025-09-02 11:10 ` [PATCH 2/2] leds: led-class: Add devicetree support to led_get() Aleksandrs Vinarskis
2025-09-02 12:25   ` Hans de Goede
2025-09-03 23:01     ` Aleksandrs Vinarskis
2025-09-04  7:08     ` Hans de Goede
2025-09-02 22:22   ` Linus Walleij
2025-09-03  6:58     ` Lee Jones
2025-09-03  3:31   ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250904141004.GA3875305-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=alex@vinarskis.com \
    --cc=bryan.odonoghue@linaro.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hansg@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=krzk@kernel.org \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=pavel@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).