[PATCH v5 0/4] platform/x86: int3472: Add support for GPIO type 0x02 (strobe)

From: Marco Nenciarini

Date: Fri Mar 27 2026 - 14:14:27 EST


Add support for INT3472 GPIO type 0x02 which controls an IR strobe LED
used for face authentication on some laptops (e.g. Dell Pro Max 16
Premium). Without this, the kernel logs "GPIO type 0x02 unknown; the
sensor may not work" and IR sensors paired with a strobe LED cannot
function.

The series first refactors the existing LED code (patches 1-3), then
adds the new strobe LED type with multi-LED support (patch 4).

Changes in v5:
- Swapped patches 1 and 2: local variable refactor first (on pled
names), then rename, per Andy's suggestion to reduce churn
- Dropped enum and lookup tables in favor of simple function parameters
(string name + bool has_lookup), per Andy's review
- Multi-LED infrastructure (array, counter, has_lookup) only introduced
in patch 4 where it is actually needed
- container_of targets struct int3472_led directly (single line)
- Used C99 for-loop variable declaration in unregister loop
- Renamed LED from ir_flood (v1-v2) to strobe (v3+) to match the GPIO
type name in ACPI _DSM tables and align with common camera
terminology for IR illuminators. This rename happened in v3 but was
not documented in the changelog until now.

Marco Nenciarini (4):
platform/x86: int3472: Use local variable for LED struct access
platform/x86: int3472: Rename pled to led in LED registration code
platform/x86: int3472: Parameterize LED name in registration
platform/x86: int3472: Add support for GPIO type 0x02 (strobe)

drivers/platform/x86/intel/int3472/discrete.c | 16 ++++-
drivers/platform/x86/intel/int3472/led.c | 61 +++++++++++--------
include/linux/platform_data/x86/int3472.h | 14 +++--
3 files changed, 59 insertions(+), 32 deletions(-)

--
2.47.3