From: johannes.goede@oss.qualcomm.com
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Marco Nenciarini <mnencia@kcore.it>,
djrscally@gmail.com, ilpo.jarvinen@linux.intel.com,
andriy.shevchenko@linux.intel.com,
platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 0/4] platform/x86: int3472: Add support for GPIO type 0x02 (strobe)
Date: Wed, 1 Apr 2026 15:38:34 +0200 [thread overview]
Message-ID: <b9b66e79-751b-476e-90e9-670ef44f131e@oss.qualcomm.com> (raw)
In-Reply-To: <acw8fB6-s3pDYCSH@kekkonen.localdomain>
Hi,
On 31-Mar-26 23:28, Sakari Ailus wrote:
> Hi Hans,
>
> On Tue, Mar 31, 2026 at 12:15:55PM +0200, johannes.goede@oss.qualcomm.com wrote:
>> Hi Sakari,
>>
>> On 30-Mar-26 22:21, Sakari Ailus wrote:
>>> Hi Hans, Marco,
>>>
>>> On Mon, Mar 30, 2026 at 05:12:21PM +0200, johannes.goede@oss.qualcomm.com wrote:
>>>> Hi,
>>>>
>>>> On 30-Mar-26 16:55, Marco Nenciarini wrote:
>>>>> Hi Hans,
>>>>>
>>>>> Thank you for the detailed feedback.
>>>>>
>>>>>> My main remark on the current patch set is that IMHO
>>>>>> the LED name really should be: OVTIxxxx:00::ir_flood_led
>>>>>> since that is what it actually does, strobe is typically
>>>>>> related to flash LEDs which despite the naming in Intel's
>>>>>> side this is not.
>>>>>
>>>>> The series actually started with "ir_flood" in v1-v2. It was renamed to
>>>>> "strobe" in v3 to match the GPIO type name used in Intel's ACPI _DSM
>>>>> tables. But I agree with you that the userspace-visible LED name should
>>>>> describe what the hardware actually does, not mirror an internal ACPI
>>>>> label. I am happy to go back to "ir_flood" for the LED name.
>>>>>
>>>>> We could keep INT3472_GPIO_TYPE_STROBE for the define (matching the ACPI
>>>>> type value) but pass "ir_flood" as the con_id to the LED registration,
>>>>> so userspace sees OVTIxxxx:00::ir_flood_led. Would that work for
>>>>> everyone?
>>>>
>>>> That sounds good to me.
>>>
>>> Seems reasonable.
>>>
>>>>
>>>>>> We really need to get some input from the V4L2 maintainers
>>>>>> here on if this is a good idea, before merging this series.
>>>>>
>>>>> Agreed.
>>>>>
>>>>>> I can even imagine
>>>>>> a default simple mode where the v4l2-core just turns
>>>>>> on the LED when streaming starts and off again when
>>>>>> streaming stops (very much like the privacy LED) and
>>>>>> then in the future maybe we can extend this, e.g.
>>>>>> add a control on the sensor device to make this
>>>>>> configurable ?
>>>>>
>>>>> That makes a lot of sense. The current series intentionally keeps things
>>>>> minimal (just exposing the LED under /sys/class/leds with no V4L2
>>>>> integration), but this future direction sounds right.
>>>>>
>>>>> I will hold off on sending v6 until we have agreement on the naming and
>>>>> Sakari has had a chance to weigh in.
>>>>
>>>> Ack, lets wait for input from Sakari here.
>>>
>>> I wonder if there would be any deterministic ways to find the LED device
>>> based on the sensor. It'd probably require more information via MC / V4L2
>>> controls to allow that.
>>
>> Yes, the int3472 code adds a LED lookup table entry with the consumer-
>> device being the sensor.
>>
>> So just like v4l2-subdev.c currently does:
>>
>> sd->privacy_led = led_get(sd->dev, "privacy");
>>
>> it will also be able to do:
>>
>> sd->privacy_led = led_get(sd->dev, "ir_flood");
>>
>>> Alternatively we could use a boolean control for this, but I think I'd
>>> avoid adding that now and rely on LED API instead.
>>>
>>> Are there use cases for this LED, apart from Windows Hello? :-)
>>
>> As mentioned for now we could just treat it exactly the same
>> as the privacy LED and simply turn it on while streaming
>> inside the v4l2-core / v4l2-subdev code.
>>
>> This would nicely cover the face ID use-case for which
>> Linux implementations exist to.
>>
>> And then later of some other use-case comes up we could
>> make this a menu-control with on/off/auto values, defaulting
>> to auto which would preserve the turn it on while streaming
>> behavior.
>>
>> We do need to come up with something here, since use-cases
>> like Howdy (Linux face-id) will need it. My vote goes to
>> give it the same treatment as the privacy LED in the v4l2-core
>> for now making things "just work".
>>
>> Alternatively we could document that userspace needs to
>> find the LED and turn it on itself through the LED classdev
>> but that will be painful for userspace to do for various
>> reasons including classdev access requiring root rights.
>
> That was actually my concern as well.
>
> Still, if we bind this to the privacy LED now
To be clear my suggestion is to treat it the same as we
currently treat privacy-LEDs (auto-on while streaming) but
have a separate code-path, or at least a separate LED name
("ir_flood" vs "privacy") to allow different behavior in
the future.
> and the LED will effectively
> be powered whenever the camera is streaming,
Ack.
> we can't drop that interaction
> in the future as doing so would break existing users.
Ack.
> I'm not sure if there would ever be a need though.
Ack.
> Either way, I'm starting to feel the V4L2 control might actually be the
> best way to go from here.
I think we can postpone adding a ctrl to if a use-case needing
different behavior ever shows up (which is unlikely?) .
This ctrl can then be a menu ctrl with auto/on/off values
defaulting to auto and auto preserving the on-while-streaking
behavior, so not breaking existing users.
TL;DR: my proposal is:
1. Name the new LED classdev ir_flood[_led] including
adding an "ir_flood" LED lookup with the sensor as
consuming device of the LED.
2. Make v4l2-core turn the ir_flood on automatically while
streaming, just like it does for a "privacy" LED currently
(mostly re-using the existing privacy LED code).
3. If in the future userspace needs more fine-grained control
at a ir_flood V4L2 menu control on the sensor with
auto/on/off values, defaulting to auto which preserves
the behavior from 2.
Regards,
Hans
next prev parent reply other threads:[~2026-04-01 13:38 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <ab0URIrzZPsYjWrM@spark.kcore.it>
2026-03-25 22:38 ` [PATCH v3 0/2] platform/x86: int3472: Add support for strobe LED (GPIO type 0x02) Marco Nenciarini
2026-03-25 22:38 ` [PATCH v3 1/2] platform/x86: int3472: Rename pled to led in LED registration code Marco Nenciarini
2026-03-25 22:38 ` [PATCH v3 2/2] platform/x86: int3472: Add support for GPIO type 0x02 (strobe LED) Marco Nenciarini
2026-03-26 10:46 ` Ilpo Järvinen
2026-03-26 10:51 ` Andy Shevchenko
2026-03-26 10:55 ` Andy Shevchenko
2026-03-26 10:57 ` Andy Shevchenko
2026-03-26 11:05 ` Andy Shevchenko
2026-03-27 9:07 ` [PATCH v4 0/4] platform/x86: int3472: Add support for strobe LED (GPIO type 0x02) Marco Nenciarini
2026-03-27 9:07 ` [PATCH v4 1/4] platform/x86: int3472: Rename pled to led in LED registration code Marco Nenciarini
2026-03-27 10:08 ` Andy Shevchenko
2026-03-27 10:35 ` Andy Shevchenko
2026-03-27 9:07 ` [PATCH v4 2/4] platform/x86: int3472: Use local variable for LED struct access Marco Nenciarini
2026-03-27 10:15 ` Andy Shevchenko
2026-03-27 9:07 ` [PATCH v4 3/4] platform/x86: int3472: Introduce LED type enum and multi-LED support Marco Nenciarini
2026-03-27 10:30 ` Andy Shevchenko
2026-03-27 9:07 ` [PATCH v4 4/4] platform/x86: int3472: Add support for GPIO type 0x02 (strobe LED) Marco Nenciarini
2026-03-27 10:34 ` Andy Shevchenko
2026-03-27 10:37 ` [PATCH v4 0/4] platform/x86: int3472: Add support for strobe LED (GPIO type 0x02) Andy Shevchenko
2026-03-27 18:10 ` [PATCH v5 0/4] platform/x86: int3472: Add support for GPIO type 0x02 (strobe) Marco Nenciarini
2026-03-27 18:10 ` [PATCH v5 1/4] platform/x86: int3472: Use local variable for LED struct access Marco Nenciarini
2026-03-30 9:23 ` Andy Shevchenko
2026-03-27 18:10 ` [PATCH v5 2/4] platform/x86: int3472: Rename pled to led in LED registration code Marco Nenciarini
2026-03-27 18:10 ` [PATCH v5 3/4] platform/x86: int3472: Parameterize LED name in registration Marco Nenciarini
2026-03-30 9:26 ` Andy Shevchenko
2026-03-27 18:10 ` [PATCH v5 4/4] platform/x86: int3472: Add support for GPIO type 0x02 (strobe) Marco Nenciarini
2026-03-30 9:35 ` Andy Shevchenko
2026-03-30 9:36 ` [PATCH v5 0/4] " Andy Shevchenko
2026-03-30 13:23 ` johannes.goede
2026-03-30 14:55 ` Marco Nenciarini
2026-03-30 15:12 ` johannes.goede
2026-03-30 20:21 ` Sakari Ailus
2026-03-31 7:10 ` Marco Nenciarini
2026-03-31 10:15 ` johannes.goede
2026-03-31 21:28 ` Sakari Ailus
2026-04-01 13:38 ` johannes.goede [this message]
2026-04-01 17:13 ` Marco Nenciarini
2026-04-01 18:47 ` johannes.goede
2026-03-31 7:52 ` [PATCH v6 0/4] platform/x86: int3472: Add support for GPIO type 0x02 (IR flood LED) Marco Nenciarini
2026-03-31 7:52 ` [PATCH v6 1/4] platform/x86: int3472: Use local variable for LED struct access Marco Nenciarini
2026-03-31 10:16 ` Andy Shevchenko
2026-03-31 7:52 ` [PATCH v6 2/4] platform/x86: int3472: Rename pled to led in LED registration code Marco Nenciarini
2026-03-31 10:17 ` Andy Shevchenko
2026-03-31 7:52 ` [PATCH v6 3/4] platform/x86: int3472: Parameterize LED con_id in registration Marco Nenciarini
2026-03-31 10:20 ` Andy Shevchenko
2026-03-31 7:52 ` [PATCH v6 4/4] platform/x86: int3472: Add support for GPIO type 0x02 (IR flood LED) Marco Nenciarini
2026-03-31 10:36 ` Hans de Goede
2026-03-31 10:55 ` Andy Shevchenko
2026-04-01 13:36 ` Hans de Goede
2026-04-01 13:56 ` Andy Shevchenko
2026-03-31 10:48 ` Andy Shevchenko
2026-03-31 10:25 ` [PATCH v6 0/4] " Andy Shevchenko
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=b9b66e79-751b-476e-90e9-670ef44f131e@oss.qualcomm.com \
--to=johannes.goede@oss.qualcomm.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=djrscally@gmail.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mnencia@kcore.it \
--cc=platform-driver-x86@vger.kernel.org \
--cc=sakari.ailus@linux.intel.com \
/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
all inboxes | Powered by JetHome®