From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F0B2D3E49F2 for ; Wed, 26 Aug 2026 11:25:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787743562; cv=none; b=Ham6gVg16uebSDvmheAfsg3gmM9uFOSy+Ogf7M9zA7jZDac7C5N+EFydZAVK4A66YWDnV3/WGJ37Zp+po+cJqzAyqbcHUhhgV/s+N3xxuKgi1h27XtZcUPmQYH4Ho64UKI88yzkWo4GW08xpzyBPC7pDvxQzxxwUWl4Xx6uPIyc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787743562; c=relaxed/simple; bh=7BqKG7UiVkdBPu4leBjvfoeJEM/OjD3mE3MOq1woPE4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=mIA6x3LEoKA5O3xW8dLdOiQv69z7SV+ANLlOb8bveUXsEwigvztuQjCC0kMG6ROTpGfkvWG2WVhrLR7czmT8HGrbT6Hlm4i1eZHFGeGTvJt0+c21C9Y3pUvRRm8GwRcquNV1Gc9aGnBAKF5EVaGjd1iZy21D2SB8b6WckAAMVnE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=OZGS33zd; arc=none smtp.client-ip=209.85.221.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OZGS33zd" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-482dbc9a00bso943948f8f.1 for ; Wed, 26 Aug 2026 04:25:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787743558; x=1788348358; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=UJ6gIRxKV4tPAnIKrYL+EnKWhihLd/yRb7gXeIxetG8=; b=OZGS33zd+XQV0XwOAT1yWKV0LO+MOOn9RJ8LCEJmgGH+gDXFJ3T3m2KzMHxuJnIeX1 JaNJORSq8uT0jT5BAnJnkfHUF5PNJ9QJDe/JOqhU+clQqCqJaZ9f7lcYOGUEcEztlkUz 4avxet3Kur3/0E1qupBZSSK3BWtdNXX2dh2W1JMkhjDngFsfDvvDM7xnbMo/bFmdzDl6 Q3EOblkBSahOYZu/404IAlO9RlH+1Meukac/h3Tht24725bKIDM7YwDuT2inQ+l6vl2X 62+hlxgrwZBrmcTrL8xE96/k9GG5SObkZfQKudWS1WxYxS6fiTZXqVtW2LZTCSz6L8Z0 CvKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787743558; x=1788348358; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=UJ6gIRxKV4tPAnIKrYL+EnKWhihLd/yRb7gXeIxetG8=; b=XbhfsMB1ilI7UDO0fdTE16S/uoHtQclvxcQMmuhPz659AOxJONwUegBE6dEQctWni6 IsSnAgFGrLLsSzKIuumwHRzhfd/lGBjUwdVyyKlDMTF59dbxaFMRr9w5o1edM6NepIqb x8LB3uDf7KEA3WxRY7qGJ/J0evx2xq6Lkt7iRYPLhp3hsWu+I5bgz5qj97UkF/kUlIS2 3SdNhMMtPuIDFvlKl1xGhJnDATYxJ1pujsJpIa+nO/A9K1RFcH8CyYOAOrov0vJvVk34 VPZum6kLKuIiC2qnOPMYWJHexilZx1HEXqEWO0l3csxZGh7Skzklhl6AT/RX2UPQZIvC MN9w== X-Gm-Message-State: AFuF++lhwJAu6vVzYAwA/IHhuoYN2v4PulEb0aPt4D/Zd1NSu2jiOGuT eH7Ufmx1MQUWFCV8X0n6CHvgw0Nm2El1ZapLxtNZ/ZDVsswere469+pNCkkgz75RNmI= X-Gm-Gg: AR+sD12mzBl4Y8R1ROuuoWQJ+ZoofsIUg6736bmD7ipA8HOhcKVWx9unVI7OOkNIf+x vuXNIl2UJ3Z64BpI40vOCpBee7YIt7ESesMLK6vZqAkVrWSHyJoftcpT56Cu2iiKkxiVhOhYhc4 eMrWrijEPr2u0lthuiWMEj6fW7wkTTMk1heLStdZZ2c1sAbhgW3vPMwua9ItjKK1ixCvr5BZzo5 x8Gxo/bNrOrQ8poZbnHTWVWHC4ZlisLDoVnKylm/hxhtL/ZgSR2P+3HibkJ06Nu5/ctfHDrsIxk jnvisBe9ia+GSFL+taln1OHsFdkai6s+XkHieW1P76lSvQTbHTyNOEq0zYryFnEh8FCedIO198h coqVK/LwW7WHqPgoqSeKzhI/0dplCVzK+te+ubE8RLfJgvcje2TmnC/j/+o2OA6XSZi7/uJwUNC 2MpwehZTdAoQeU+LjFOsNjpg/kPGR4YC1Q0eSJi5oTpkgwE372lNi1EIm6SFIrdKPie4E= X-Received: by 2002:a05:6000:991:b0:482:e658:7a39 with SMTP id ffacd0b85a97d-482e6587fc4mr2813711f8f.11.1787743557842; Wed, 26 Aug 2026 04:25:57 -0700 (PDT) Received: from TC-LAPTOP ([2a01:e0a:b8a:2610:6b23:b1a3:f913:3d0b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482e28f6119sm2442098f8f.34.2026.08.26.04.25.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 04:25:57 -0700 (PDT) From: Thierry Chatard To: linux-kernel@vger.kernel.org Cc: hansg@kernel.org, lee@kernel.org, platform-driver-x86@vger.kernel.org, ilpo.jarvinen@linux.intel.com, djrscally@gmail.com, linux-media@vger.kernel.org, mchehab@kernel.org, sakari.ailus@linux.intel.com, jacopo.mondi@ideasonboard.com, nicholas@rothemail.net, andriy.shevchenko@intel.com, v.vitovt@gmail.com, Thierry Chatard Subject: [PATCH v8 0/6] Enable cameras on Dell Latitude 5285 2-in-1 Date: Wed, 26 Aug 2026 13:24:45 +0200 Message-ID: <20260826112452.13539-1-tchatard@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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