This series enables the front (OV5670/INT3479) and rear (OV8858/INT3477) cameras on the Dell Latitude 5285 2-in-1 under Linux. Per Documentation/process/coding-assistants.rst: this work was developed with significant help from an AI coding assistant (Claude Code, by Anthropic). I used it to help reverse-engineer the ACPI/TPS68470 bring-up, iterate on the board data, and draft these patches. I have reviewed and tested all of it on the actual hardware and take full responsibility for the result. The series spans two trees: patches 1-4 target platform-drivers-x86 and patches 5-6 target linux-media. All six are needed for a working system. Changes since v7 (addressing Andy Shevchenko's review): - Patch 1 (intel_lpss): rework the quirk to be data-driven. Match the machine by DMI and the device (INT3446) by ACPI ID, carry QUIRK_IGNORE_RESOURCE_CONFLICTS in the ACPI match data, and apply it to the per-device info in probe, mirroring the PCI counterpart. Drop the duplicate spt_i2c_info_ignore_conflicts struct and the machine-specific dev_info(). Fix the include ordering. - New patch 2 (int3472: tps68470): split the int -> unsigned int loop counter change out of the clock-consumer patch into its own cleanup. - Patch 3 (int3472: tps68470, was patch 2): trim the commit message; no code change beyond the counter split above. - Patch 6 (ov8858, was patch 5): use a C99 initialiser for the ACPI match entry and drop the comma after the sentinel. On the open question from the review: I kept the per-table gpiod_add_lookup_table() loop rather than switching to gpiod_add_lookup_tables(). There is no gpiod_remove_lookup_tables() counterpart for the error-unwind path, the board data uses a counted (not NULL-terminated) array, and the singular form is what the rest of the tree uses, including int3472/discrete.c. Earlier changelogs (v2-v7) are in the v7 posting: https://lore.kernel.org/all/20260819140107.1329091-1-tchatard@gmail.com/ Tested on Ubuntu 25.10 (kernel 6.17.0-22-generic) and Ubuntu 26.04 (kernel 7.0.0-30-generic). Both cameras working in Zoom, Chrome, and GNOME Camera via PipeWire. Also independently tested on the closely-related Dell Latitude 5290 2-in-1 (same IPU3/TPS68470/OV5670/OV8858/DW9714 stack) by Vitalii Tytskyi: https://github.com/vitovt/dell-5290-camera-kernel/tree/master/patches Thierry Chatard (6): platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 platform/x86: int3472: tps68470: use unsigned int for GPIO lookup loop counters platform/x86: int3472: tps68470: fix clock consumer registration for Dell Latitude 5285 platform/x86: int3472: tps68470: add board data for Dell Latitude 5285 media: ipu-bridge: add sensor configuration for OV8858 (INT3477) media: ov8858: add ACPI device ID INT3477
On Wed, 26 Aug 2026, Thierry Chatard wrote: > This series enables the front (OV5670/INT3479) and rear (OV8858/INT3477) > cameras on the Dell Latitude 5285 2-in-1 under Linux. > > Per Documentation/process/coding-assistants.rst: this work was developed > with significant help from an AI coding assistant (Claude Code, by > Anthropic). I used it to help reverse-engineer the ACPI/TPS68470 bring-up, > iterate on the board data, and draft these patches. I have reviewed and > tested all of it on the actual hardware and take full responsibility for > the result. > > The series spans two trees: patches 1-4 target platform-drivers-x86 and > patches 5-6 target linux-media. All six are needed for a working system. > > Changes since v7 (addressing Andy Shevchenko's review): > - Patch 1 (intel_lpss): rework the quirk to be data-driven. Match the > machine by DMI and the device (INT3446) by ACPI ID, carry > QUIRK_IGNORE_RESOURCE_CONFLICTS in the ACPI match data, and apply it to > the per-device info in probe, mirroring the PCI counterpart. Drop the > duplicate spt_i2c_info_ignore_conflicts struct and the machine-specific > dev_info(). Fix the include ordering. > - New patch 2 (int3472: tps68470): split the int -> unsigned int loop > counter change out of the clock-consumer patch into its own cleanup. > - Patch 3 (int3472: tps68470, was patch 2): trim the commit message; no > code change beyond the counter split above. > - Patch 6 (ov8858, was patch 5): use a C99 initialiser for the ACPI match > entry and drop the comma after the sentinel. > > On the open question from the review: I kept the per-table > gpiod_add_lookup_table() loop rather than switching to > gpiod_add_lookup_tables(). There is no gpiod_remove_lookup_tables() > counterpart for the error-unwind path, the board data uses a counted (not > NULL-terminated) array, and the singular form is what the rest of the tree > uses, including int3472/discrete.c. > > Earlier changelogs (v2-v7) are in the v7 posting: > https://lore.kernel.org/all/20260819140107.1329091-1-tchatard@gmail.com/ > > Tested on Ubuntu 25.10 (kernel 6.17.0-22-generic) and Ubuntu 26.04 > (kernel 7.0.0-30-generic). Both cameras working in Zoom, Chrome, and GNOME > Camera via PipeWire. Also independently tested on the closely-related Dell > Latitude 5290 2-in-1 (same IPU3/TPS68470/OV5670/OV8858/DW9714 stack) by > Vitalii Tytskyi: > https://github.com/vitovt/dell-5290-camera-kernel/tree/master/patches > > Thierry Chatard (6): > platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 > platform/x86: int3472: tps68470: use unsigned int for GPIO lookup loop counters > platform/x86: int3472: tps68470: fix clock consumer registration for Dell Latitude 5285 > platform/x86: int3472: tps68470: add board data for Dell Latitude 5285 > media: ipu-bridge: add sensor configuration for OV8858 (INT3477) > media: ov8858: add ACPI device ID INT3477 What command did you use to create this set? Where is the diff? Walking through each patch to see if there is anything I should look at is suboptimal. -- Lee Jones
© 2016 - 2026 Red Hat, Inc.