From nobody Sat Sep 26 14:38:28 2026 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (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 8C39143B4BD for ; Mon, 31 Aug 2026 16:08:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192485; cv=none; b=jsjDI/sJwyLYf/UHpW2e3vRda1LqxDD6l7V752GTgQsmpXQXvB+xkmNbstMl8lPReYfB+PkdQE6nA787V9vDKMKaGxKvLS1CuUbUiBFMog5cAwY06PA6MMeZ++xxMadIvZrNZdEApjy+7lChUR8x57/v2tjkvRxF7vgcuEo72BQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192485; c=relaxed/simple; bh=7wUoamM4+c7jF5tl6thS/Yftiw42UmhP7P4CTu0M+ms=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GI/rFQ7mjx7yQKOmVvUpAVUttv30QD0qJmXTfb38jb1t8monTxDitJWcVCit1gGGM8kgX/lu1NnkV4D4HGLl9RrLxT7gxarAAW0Yd/ZLpfFDy9bdrybLS6Ix672rS5ncTZh50wN+evWzuJVNC+kcpkl8wl0kKj4EeESu3tLyr4U= 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=p9YxMGmA; arc=none smtp.client-ip=209.85.221.47 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="p9YxMGmA" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-47fe89fb333so2164007f8f.3 for ; Mon, 31 Aug 2026 09:08:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788192482; x=1788797282; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=9PppgYVQCH9iw7pmx72bD2vKBs7GSn3BtKiFc/nksis=; b=p9YxMGmAtaXJ88ra9MRSZ9p/6j8JSlqD91saeBETDt/6QAIieFhYAPunrvoB728wZk H7emJ6HZPNf4FTLfLafTYNO0Oy/AC5KPJ+c2vM5QPJyDfGRw5HMc7B2m8MZbL6I1yCqL bPbiPMLaFgsh3Z02T5VSYNI7SRmqcbqH1WEVAy7j0HfK0F7ZOBzG6uMgvmsyvnk9VlZH L5hR86XBBOFA4+hUlOp+Hf9PU8KBRw1VXNVL7d0Rp0dE3aQTotrLzpnNlBVLOMdqt8Ac 8pI+v5Fz2lL4twibvJElwdf1peeegdzj14vwRiEmPQIps82H8mj5tHd86VlNBSScBg4O DRwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788192482; x=1788797282; h=content-transfer-encoding:mime-version:references:in-reply-to :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=9PppgYVQCH9iw7pmx72bD2vKBs7GSn3BtKiFc/nksis=; b=Onj8mgeXVdVKoSclMnNcvmA14sSlALQg8Ytg1wChqk4CQDC9dKEqjvrk8XBcqvsPZn ddPXtRg1sjwXzKrXXDIVyfN2geZrsp0BGfFSTmMeS076aBcWruOp1RvMtbrovToXMjEI 3E4BnnRqBFu3X4kS+jVMbEmvvgDvxk04X6LwXvK+5oIkTkVaaRboWwYBRQHe0KelTqFA PnmynJCtxGv0mmQlff8vsDV9rNLnYFWZsXf4zALR16UhoOp1KNcoDXlK6CfptthLkNTw uKiEHIM42RHJ2DVuzRi68E0pLbLals0VqkMnVR5vJ81/ITkeA67lp2Tca24SKaBxGYPp 0xtA== X-Gm-Message-State: AFuF++monCfsfCudJRKpl7j90U1QjwPPwXNJMMeXeU2xZkWFOhubEI0a 4MjfsydsFJVW/1/I/URv945N4nGfx73ltzp1tYcqBQ+BzFg3aT6SyqtJK6pc/yMpDH5Jgw== X-Gm-Gg: AYBFou21eTYqMCkE4FHW0LBsAUYKaSi0TzwRBHwtvL+N/RFQairnrnLEmlm97knvZAO VPAUyRxTMiJ6T90YSY9GWei22U4vvn5j/rYOK+0wyDeofH9J2BxSl+IFOh2+lL1FUY3Q/rnVgaA Uz77O+v6M9PP+OwPUevjL4mJnd1NcmNLy+01S0bWfeYUssRbIeFk2gwfQBHND/hw77969ge2ga5 Ivgu5tjmfMAF+GflYa2/EnnEnnuB6+a1Uzy0SnTmDHVp5EGX3BfREGHTIVcKRe60U3G09KDhWHD PGNfn8GxNPAQxuF7oiOHMcwKZXpQfO6P7BjTwqcvc2GA7aMptuQzw/pZUGbsHhW1d469EVzibNu 3iNMPHcP8cRZx2CRqO+8/prd1ROW1o7/T4+plnU0sBCwYlQDfeYYP6Atj492dixzQ815J3FU+ud 9G3PdSgsNiQjLqXQjWGvWPaysQIbr58F5l4evkC5PgTnwRANpzmayVm7JqyQ== X-Received: by 2002:adf:f882:0:b0:484:3cbf:f254 with SMTP id ffacd0b85a97d-48441022253mr2861178f8f.21.1788192481405; Mon, 31 Aug 2026 09:08:01 -0700 (PDT) Received: from TC-LAPTOP ([2a01:e0a:b8a:2610:ccbd:b529:37d3:c1b8]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482fbab3f3asm23849760f8f.3.2026.08.31.09.08.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 09:08:01 -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 v10 1/8] mfd: intel-lpss: add resource conflict quirk for Dell Latitude 5285 Date: Mon, 31 Aug 2026 18:07:47 +0200 Message-ID: <20260831160754.9857-2-tchatard@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831160754.9857-1-tchatard@gmail.com> References: <20260831160754.9857-1-tchatard@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Dell Latitude 5285 2-in-1 has a BIOS bug where the ACPI GEXP device and the I2C4 controller (INT3446) both claim the same MMIO region via the shared SB04 variable. This causes intel_lpss_acpi to fail binding to I2C4 with -EBUSY, preventing the front camera (OV5670) sensor from being registered. Match the affected machine by DMI and the affected device by ACPI ID, carrying QUIRK_IGNORE_RESOURCE_CONFLICTS in the ACPI match data and applying it to the per-device info in probe. This follows the quirk organisation used by the PCI counterpart. Assisted-by: Claude Code:claude-opus-4-8 Reviewed-by: Andy Shevchenko Signed-off-by: Thierry Chatard --- drivers/mfd/intel-lpss-acpi.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/drivers/mfd/intel-lpss-acpi.c b/drivers/mfd/intel-lpss-acpi.c index d4b24a717..9d7d0ad62 100644 --- a/drivers/mfd/intel-lpss-acpi.c +++ b/drivers/mfd/intel-lpss-acpi.c @@ -8,7 +8,9 @@ * Mika Westerberg */ =20 +#include #include +#include #include #include #include @@ -171,6 +173,27 @@ static const struct acpi_device_id intel_lpss_acpi_ids= [] =3D { }; MODULE_DEVICE_TABLE(acpi, intel_lpss_acpi_ids); =20 +/* + * Devices that need a quirk applied only on the machines matched by + * intel_lpss_quirk_dmi[] below. The quirk to apply is carried in the + * matching entry's driver_data. + */ +static const struct acpi_device_id intel_lpss_acpi_quirk_ids[] =3D { + /* Dell Latitude 5285: ACPI GEXP device conflicts with I2C4 (INT3446) */ + { "INT3446", QUIRK_IGNORE_RESOURCE_CONFLICTS }, + { } +}; + +static const struct dmi_system_id intel_lpss_quirk_dmi[] =3D { + { + .matches =3D { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Latitude 5285"), + }, + }, + { } +}; + static int intel_lpss_acpi_probe(struct platform_device *pdev) { const struct intel_lpss_platform_info *data; @@ -185,6 +208,15 @@ static int intel_lpss_acpi_probe(struct platform_devic= e *pdev) if (!info) return -ENOMEM; =20 + /* Apply per-device quirks that are only needed on certain machines */ + if (dmi_check_system(intel_lpss_quirk_dmi)) { + const struct acpi_device_id *id; + + id =3D acpi_match_device(intel_lpss_acpi_quirk_ids, &pdev->dev); + if (id) + info->quirks |=3D id->driver_data; + } + /* No need to check mem and irq here as intel_lpss_probe() does it for us= */ info->mem =3D platform_get_resource(pdev, IORESOURCE_MEM, 0); info->irq =3D platform_get_irq(pdev, 0); --=20 2.53.0 From nobody Sat Sep 26 14:38:28 2026 Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) (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 7E4B743CE65 for ; Mon, 31 Aug 2026 16:08:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192487; cv=none; b=tVMOtAHokxAxg3E8cWO/7SbCqO+Gbm9gc+rm0iFQnSqXJfzpe0H6Tw/DkSvJIyCMZ4eD2MUJntSFZHOb+hxZ2PtpOsVgOU27ZTUa6hcstsdV1tyFaSGHTdMQlv/MmrabpF+h3wm/+JuSwQJRjaPsrqrxjwlIkToIT8hFkULoCZU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192487; c=relaxed/simple; bh=rixrGDaEFtrVbXBwzSvfQXpzKwFy07ICwTeW89xWQtw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XryrCp4yXd3KFuGoZjua6WSKwrodlz4vAHFMkNyGC/ffPGnrKUmqPAeqKk7tjZmFVl35U8Z6I9M9aOofZDOKdNacdHW5fPSlKrcfsvxAeXB0+/7xEvn5sT5u6dqYk95BkSs+MsRc0Hz7wbiQHlPlb7pen8qXfpDG8+96BEd6KAs= 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=sgYnqY+1; arc=none smtp.client-ip=209.85.221.54 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="sgYnqY+1" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-484415c8cb1so117483f8f.2 for ; Mon, 31 Aug 2026 09:08:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788192483; x=1788797283; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=HDP4t5CtJDB/rNbN9Zai4pex9QrrqfqlqT133UxmlQ0=; b=sgYnqY+1nIN+Yy/JpGx+qrCC9cn/uyObs73JgKp/tkEZ7o4A0UMVzon4caTx7kbECZ 5kDW/zxDyn+gya8srpoaUtB0XjsCNjZSv/F1IlqCVB6V10q16X/adnC5fPrvNjgRPkkf mnTDvcr85AXgZ6YVxoWOjyrCqAJf12XWXpzf9ZTtuGi3177igPeSn24dNfHAoZDjhJXo +DFoC+3QKR+LCHGu6nZFddSRrISlQHPoQdD1yGc6imjqKW8Znm+IpAESmAO6UaeFHpVM wR/gnPxwSO3uH4gmH7yGJOwtMWTCDTyYQUn2FNiAyfq9AooqblGytA00KxERZ5OpUp2D oy6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788192483; x=1788797283; h=content-transfer-encoding:mime-version:references:in-reply-to :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=HDP4t5CtJDB/rNbN9Zai4pex9QrrqfqlqT133UxmlQ0=; b=qvO2I/1IqkjFjVhImp1PM4cquJoRbsuYPHpHRpB65A7QQGUUFwzDRlB8wfiQ20qYuL vm9mmJpEeIdjiHR93jneuDRdNpd6jdg5eKpHg6WGz9tHxeE0r0TX2psQKEJT3vUhUD8A qyWdI66AgTNzLBDlSXD1sS0+Jj8tKB2skUFrXjw62z4Pmq7/JUnu3POBG9GDb+v2bPY1 RdXMHTr47IpTqpz3gaw0eOn7ENSa3n1tP77FWBWlDHroyDyG8dj+PKt2cnkisfdkYmsn miUXqo5RuYXZIr/dKMI2Fo/p7vBvKkT+gmvK3M7JnFZRfNI8YHI0h3y0/Zo2W06fe9tc oHsw== X-Gm-Message-State: AFuF++mnWJ+HECqJblznE04BVwUDOA/f+85c63qfat+KJW8BirBZ74vb FCztwluULahJ3Heyk7AdiEbLRL66sOst5MF4czjJacsIAZw8nhS7S0o28h9xDSWUWWjbdA== X-Gm-Gg: AYBFou1yCboQ7awEnicywp6xhuQHI9IuJ9AXsHj6r13mv5xXQG7OCC1O+XvCAzvR1jL vZaPOsqH9qgABKssUMzDTTBNF0kVfbLRXaaOQ2dvSnTdSzV+agZt6yfL9HZmeS4zHOUXdDu2XfJ YPgbKJbk/YWhsDbjVnN/BEJQ4pMkGVKYMmIDKdOe6bE5q99wadqAcTidy6mkAlZ8hcmoMnIlKDJ p0ZD6e9iIcSRxJ/5IQl1mAoFXc1FkpuotOhZ9UNz8fh/O0gQj8glndcJxpvc4yF4OsSWx1+lTGz iaQX8U1GpKTEF56989mi01c8jNidJFfpXVIEirth0YbKk+XjvpecwgjthjjMTGbUeuydttnIPZ3 YsfOs/3qU32SMgTl9t67Hma5MvAOGaJXLK8oomsPN8c6w6gjg31gAHk+Lt2SbU8+QRRqFUE7v0x rLFYNtx7PLFfxCu/s+vwbUPDAfeTLAhQlrrRMXykckCP7nn7O2KLHGFp8v X-Received: by 2002:a5d:518c:0:b0:484:3310:710c with SMTP id ffacd0b85a97d-4844102655bmr3118067f8f.24.1788192483493; Mon, 31 Aug 2026 09:08:03 -0700 (PDT) Received: from TC-LAPTOP ([2a01:e0a:b8a:2610:ccbd:b529:37d3:c1b8]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482fbab3f3asm23849760f8f.3.2026.08.31.09.08.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 09:08:03 -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 v10 2/8] platform/x86: int3472: tps68470: use unsigned int for GPIO lookup loop counters Date: Mon, 31 Aug 2026 18:07:48 +0200 Message-ID: <20260831160754.9857-3-tchatard@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831160754.9857-1-tchatard@gmail.com> References: <20260831160754.9857-1-tchatard@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The GPIO lookup table loops in the probe and remove paths iterate up to board_data->n_gpiod_lookups, which is unsigned int. Use unsigned int for the loop counters to match and avoid a signed/unsigned comparison. No functional change. Assisted-by: Claude Code:claude-opus-4-8 Suggested-by: Andy Shevchenko Signed-off-by: Thierry Chatard Reviewed-by: Andy Shevchenko --- drivers/platform/x86/intel/int3472/tps68470.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/platform/x86/intel/int3472/tps68470.c b/drivers/platfo= rm/x86/intel/int3472/tps68470.c index a77ed32ab..35909a683 100644 --- a/drivers/platform/x86/intel/int3472/tps68470.c +++ b/drivers/platform/x86/intel/int3472/tps68470.c @@ -149,8 +149,8 @@ static int skl_int3472_tps68470_probe(struct i2c_client= *client) struct regmap *regmap; int n_consumers; int device_type; + unsigned int i; int ret; - int i; =20 if (!adev) return -ENODEV; @@ -234,7 +234,7 @@ static int skl_int3472_tps68470_probe(struct i2c_client= *client) static void skl_int3472_tps68470_remove(struct i2c_client *client) { const struct int3472_tps68470_board_data *board_data; - int i; + unsigned int i; =20 board_data =3D int3472_tps68470_get_board_data(dev_name(&client->dev)); if (board_data) { --=20 2.53.0 From nobody Sat Sep 26 14:38:28 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 5A4B047ACD0 for ; Mon, 31 Aug 2026 16:08:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192489; cv=none; b=QkMrcytSLjVqKQgsKQaM4+fDCmFO5fd+kIosMnqKDjMWUp8Ot7/vbXz6dWeI6F+Rf6BnfCoz/F8op+VvhT9++IEn5CY3xp+YYM+ShW/2UsUwc51QF0iE6YAXsLAzTfuxs8rn3ufLMpmpJOIlYa8lT2eCkBvDebCXQENTthsvzwE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192489; c=relaxed/simple; bh=TpggfEsOSM87ssg324Bg9QqL8idBLTkX/Dwp4MAsSaI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WMEGdnZWiQuZgBJQQ7tYMw+sC5AntX4BxMk1ggCu6OynHX8xWyOrk7ZLDzUKIR5Eiz0r75tON94uXYm6lhQV/TwAPuvBAVrrMKUlwvccqE6c/rnDUFJ8doDVh0yPDVTKPeC4Q3Z2Cbqacge9TFipAEsp3a4KFIpsep1fPj25XH4= 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=NbYKe7ri; arc=none smtp.client-ip=209.85.128.48 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="NbYKe7ri" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-49b965570d7so34423445e9.0 for ; Mon, 31 Aug 2026 09:08:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788192485; x=1788797285; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=WWpAOoNXU5mrPZ0VP2BejHIuA0ZjYbHouz5m88LkEDs=; b=NbYKe7riFGq9FtTnZG8qRYDj7giiYcdAOq4+4vwGb9Kgqf1AmYBTv2dnqFJirU0FLq AZw7Vcq0vMil3szdRMhdS+QKVCGba7LubFfracf6ihkQzOYUMX7KayO4xpDgcXrwrdJB OHMrzMr8Nl1tOo6LxNtW2gTUmrrr9S81MuUPOYne5jB1ghP7IUNW8KbQtNVg31i+rL0q knctTI9XqGc6lSaQaMhZYWvfWXNEdPVtgbdgQg1hLcD9DdpqyIHfRk1d+D/iNunllfMr xPCCqDv+8OuL3IkXvDuxiGDLekK1W5Qom5XR8e1JYtWV9QdMDLiORNphmqbiZMbks51C yGhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788192485; x=1788797285; h=content-transfer-encoding:mime-version:references:in-reply-to :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=WWpAOoNXU5mrPZ0VP2BejHIuA0ZjYbHouz5m88LkEDs=; b=SDFe9mdQy8Hs4OxtMSdE6cQ8fMIzJLW1+AOg/R4VOFo6NNSWpcY6pG3xu91nauR1Kg PG7buZyRsDMsUR3unNBtqlkoL/7TTg7BGxhFNbGjZug4Va4l/WfMa40ANU99LIP1I6uE mIcBemqmv8SGTTcj2uj6fYt+0lLKCCUOv/kbvgJ5VH/Fm4/98lkNuEB52Fa68g/ZnRhS 6WxmNZvExfgHYZdhhGnsl6Wg4SRN9RNfX/SlKvMSqXSaIgMXNSXPc4HBPRX4i2rJ6260 +6R99SIe+ySp5LxoMqoROS6mHEa6wlIgbSVYhwLqn9pgjrwXk/kPqmI0vn9EX+5A+xQp RrvA== X-Gm-Message-State: AFuF++k7kakmIS2SR0m8ZKewI6YFaWKd+/YqrHj7xDYdh6RXfoj6nnOT TcQwAZ/kEAFfxDYu9J049HoGK7Hsf+riLJ0GXyItvpiChpghCzYRYeNTlG+ftW3RRU3ldw== X-Gm-Gg: AR+sD10PnBPFo9jhOfpPs1Q8R06JhTt6GQJcFhzbIxhy327k+XsYrCQD4MzcQw4LiO/ UINWRSLbBQkcnHIMLqb6D292BRd2DtrXBndg0XveBG8x7jT/mUH3bnii5kSPwto2iJXmujUF9K8 HEkicqPKT0mtXZFIebuMReMFcmiEcmrF7kPFl8SBOSOYuvNeCurTAB9XD4iqXIWwjN+XEXgKxjr YVMmVsmKCNXMVzrvOpnFRoqr0AhwJRFTt6G9GQ6wgR3HVx1ONFP+VzsSMn7/bgWo/4Esf5l0sXw yzyOKOssmekPmc3AE6Apg3djUAl3m9Vh8JweM9igHOkEayYht4gZodYMxNS1OXqkC++ppWL2QB3 9vWLRNN6uGhIwuHGcmLR8cU+bZQ7q76TyONv4OFPNRL5mTpZ7lnVp3idkAa58AwxcKOBv/s8JyM E/ObF0wzZ7Z5Pmw+xYr61/1yxs5LnHVSrwcECt6B3vBkCF+arVxWDV/Q4G X-Received: by 2002:a05:600c:c08b:b0:49b:9202:6f80 with SMTP id 5b1f17b1804b1-49b92027118mr371762395e9.6.1788192485239; Mon, 31 Aug 2026 09:08:05 -0700 (PDT) Received: from TC-LAPTOP ([2a01:e0a:b8a:2610:ccbd:b529:37d3:c1b8]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482fbab3f3asm23849760f8f.3.2026.08.31.09.08.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 09:08:04 -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 v10 3/8] platform/x86: int3472: tps68470: move Windows MFD setup below the device-type switch Date: Mon, 31 Aug 2026 18:07:49 +0200 Message-ID: <20260831160754.9857-4-tchatard@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831160754.9857-1-tchatard@gmail.com> References: <20260831160754.9857-1-tchatard@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Windows path looks up the board data, builds the tps68470-clk platform data and registers the MFD cells; none of this is needed for the ChromeOS path, which registers its own cells. Move that handling out of the switch and let the ChromeOS case return directly, so the Windows-only work is no longer done for ChromeOS and the function reads top to bottom. While moving the code, use a local struct device *dev to shorten the many &client->dev references, and return -ENODATA (rather than -ENODEV) when no board data matches this machine, to distinguish it from a missing device. No functional change for either path. Assisted-by: Claude Code:claude-opus-4-8 Signed-off-by: Thierry Chatard --- drivers/platform/x86/intel/int3472/tps68470.c | 99 ++++++++++--------- 1 file changed, 51 insertions(+), 48 deletions(-) diff --git a/drivers/platform/x86/intel/int3472/tps68470.c b/drivers/platfo= rm/x86/intel/int3472/tps68470.c index 35909a683..35fa77eb3 100644 --- a/drivers/platform/x86/intel/int3472/tps68470.c +++ b/drivers/platform/x86/intel/int3472/tps68470.c @@ -142,85 +142,88 @@ skl_int3472_fill_clk_pdata(struct device *dev, struct= tps68470_clk_platform_data =20 static int skl_int3472_tps68470_probe(struct i2c_client *client) { - struct acpi_device *adev =3D ACPI_COMPANION(&client->dev); const struct int3472_tps68470_board_data *board_data; struct tps68470_clk_platform_data *clk_pdata; + struct acpi_device *adev; struct mfd_cell *cells; struct regmap *regmap; + struct device *dev; int n_consumers; int device_type; unsigned int i; int ret; =20 + dev =3D &client->dev; + adev =3D ACPI_COMPANION(dev); if (!adev) return -ENODEV; =20 - n_consumers =3D skl_int3472_fill_clk_pdata(&client->dev, &clk_pdata); - if (n_consumers < 0) - return n_consumers; - regmap =3D devm_regmap_init_i2c(client, &tps68470_regmap_config); if (IS_ERR(regmap)) { - dev_err(&client->dev, "Failed to create regmap: %ld\n", PTR_ERR(regmap)); + dev_err(dev, "Failed to create regmap: %ld\n", PTR_ERR(regmap)); return PTR_ERR(regmap); } =20 i2c_set_clientdata(client, regmap); =20 - ret =3D tps68470_chip_init(&client->dev, regmap); + ret =3D tps68470_chip_init(dev, regmap); if (ret < 0) { - dev_err(&client->dev, "TPS68470 init error %d\n", ret); + dev_err(dev, "TPS68470 init error %d\n", ret); return ret; } =20 device_type =3D skl_int3472_tps68470_calc_type(adev); switch (device_type) { case DESIGNED_FOR_WINDOWS: - board_data =3D int3472_tps68470_get_board_data(dev_name(&client->dev)); - if (!board_data) - return dev_err_probe(&client->dev, -ENODEV, "No board-data found for th= is model\n"); - - cells =3D kzalloc_objs(*cells, TPS68470_WIN_MFD_CELL_COUNT); - if (!cells) - return -ENOMEM; + break; + case DESIGNED_FOR_CHROMEOS: + return devm_mfd_add_devices(dev, PLATFORM_DEVID_NONE, + tps68470_cros, ARRAY_SIZE(tps68470_cros), + NULL, 0, NULL); + default: + dev_err(dev, "Failed to add MFD devices\n"); + return device_type; + } =20 - /* - * The order of the cells matters here! The clk must be first - * because the regulator depends on it. The gpios must be last, - * acpi_gpiochip_add() calls acpi_dev_clear_dependencies() and - * the clk + regulators must be ready when this happens. - */ - cells[0].name =3D "tps68470-clk"; - cells[0].platform_data =3D clk_pdata; - cells[0].pdata_size =3D struct_size(clk_pdata, consumers, n_consumers); - cells[1].name =3D "tps68470-regulator"; - cells[1].platform_data =3D (void *)board_data->tps68470_regulator_pdata; - cells[1].pdata_size =3D sizeof(struct tps68470_regulator_platform_data); - cells[2].name =3D "tps68470-gpio"; - cells[2].swnode =3D board_data->tps68470_gpio_swnode; + board_data =3D int3472_tps68470_get_board_data(dev_name(dev)); + if (!board_data) + return dev_err_probe(dev, -ENODATA, + "No board-data found for this model\n"); =20 - for (i =3D 0; i < board_data->n_gpiod_lookups; i++) - gpiod_add_lookup_table(board_data->tps68470_gpio_lookup_tables[i]); + n_consumers =3D skl_int3472_fill_clk_pdata(dev, &clk_pdata); + if (n_consumers < 0) + return n_consumers; =20 - ret =3D devm_mfd_add_devices(&client->dev, PLATFORM_DEVID_NONE, - cells, TPS68470_WIN_MFD_CELL_COUNT, - NULL, 0, NULL); - kfree(cells); + cells =3D kzalloc_objs(*cells, TPS68470_WIN_MFD_CELL_COUNT); + if (!cells) + return -ENOMEM; =20 - if (ret) { - for (i =3D 0; i < board_data->n_gpiod_lookups; i++) - gpiod_remove_lookup_table(board_data->tps68470_gpio_lookup_tables[i]); - } + /* + * The order of the cells matters here! The clk must be first + * because the regulator depends on it. The gpios must be last, + * acpi_gpiochip_add() calls acpi_dev_clear_dependencies() and + * the clk + regulators must be ready when this happens. + */ + cells[0].name =3D "tps68470-clk"; + cells[0].platform_data =3D clk_pdata; + cells[0].pdata_size =3D struct_size(clk_pdata, consumers, n_consumers); + cells[1].name =3D "tps68470-regulator"; + cells[1].platform_data =3D (void *)board_data->tps68470_regulator_pdata; + cells[1].pdata_size =3D sizeof(struct tps68470_regulator_platform_data); + cells[2].name =3D "tps68470-gpio"; + cells[2].swnode =3D board_data->tps68470_gpio_swnode; + + for (i =3D 0; i < board_data->n_gpiod_lookups; i++) + gpiod_add_lookup_table(board_data->tps68470_gpio_lookup_tables[i]); + + ret =3D devm_mfd_add_devices(dev, PLATFORM_DEVID_NONE, + cells, TPS68470_WIN_MFD_CELL_COUNT, + NULL, 0, NULL); + kfree(cells); =20 - break; - case DESIGNED_FOR_CHROMEOS: - ret =3D devm_mfd_add_devices(&client->dev, PLATFORM_DEVID_NONE, - tps68470_cros, ARRAY_SIZE(tps68470_cros), - NULL, 0, NULL); - break; - default: - dev_err(&client->dev, "Failed to add MFD devices\n"); - return device_type; + if (ret) { + for (i =3D 0; i < board_data->n_gpiod_lookups; i++) + gpiod_remove_lookup_table(board_data->tps68470_gpio_lookup_tables[i]); } =20 /* --=20 2.53.0 From nobody Sat Sep 26 14:38:28 2026 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 2678E4B66D5 for ; Mon, 31 Aug 2026 16:08:20 +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=1788192502; cv=none; b=H9uaz6N3d4HX1s/Ho/ECYekT+Q/3mTVh8LOsucR3kvYD99k5JtYmNXx8xwIx548hqYC5cxh1iH2kHXqqRELYVT/Ye4sh93BQhvjQD4p3YZ+R4LbfqJOsdCuWLouvZ7MFpOrROtzShgRnz7mxJdtoLETgh7LkFdDhyIzwcBqK3iY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192502; c=relaxed/simple; bh=OdlS7s1mPHGrcu0CPS8FKPyzygbRnniwzOGYOk7XL7k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=asoJnIVh+aFYWv7snhkhqo8LVoqDgLC8vm03RGq552bzNZfikh9qeC2f2ah36zW6J26eKmSA4ba1R1aeQwd5NzNEPBhllAGePYhqIe/0A8wt+pomGtradHzwlzqK6aO22FPGzQM6SfGzNGmXMryO743qWCdo8uXb4SS6zjG5b9Y= 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=pF2KzYB+; 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="pF2KzYB+" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-47fd4531020so2336349f8f.3 for ; Mon, 31 Aug 2026 09:08:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788192498; x=1788797298; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=mcYP4t6SR+tHZM0rfR5UPQlcdnVv/54YvSAwMnKZ6SA=; b=pF2KzYB+DQrqDPIzaMh633WVfC+vPIqFjv0oDv0hkxt9aC/8Si7axdnlwKDr0Zo+9l iVU2bwCv+BoaxYA/WrRqEhJYNqKj/K5r2eOE9LkF+HVuxqEyVBZIr1ZFZKXisIB0WxHm KBSjrbbR2G7zfiia2iS3SMIQrvyA80YmsXtOCLfld7h2669S/m5W8MKH/mByD/bHUkbg +kCfwsLWCenSPCLcMZKaECmM3kwEW8azOMk1LdieIF/5XNEPsjO4Mt5h2wLmiSFXhB0R hSoeV1gGIy+/Uhb47y3CgLmewcUGhh5OVJ9p04UNnz9LqB3QwUDn0X+iGyEHx2z7n0y4 IVIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788192498; x=1788797298; h=content-transfer-encoding:mime-version:references:in-reply-to :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=mcYP4t6SR+tHZM0rfR5UPQlcdnVv/54YvSAwMnKZ6SA=; b=dzNcFeZn3/0CoOAsyyQrNea53GJOddDmgEBg6m9KKG4SQ8oWbwTn9J2IiYrB0q+5w4 53X/ZkzcdhWc8d70Bz8EJKpFWGlowyzqxAwyiAgZxmtrzoWS8jqK2Vy48UQs5c7hQajn aFanUwnG39DzV1G5oJieJzq4obLBbaVCUvTqFLHe1g0Rn+ycxa43H9HWmjmIhcaSQ3az iZUq10nvoIg4Ls4hSBK7pkA5jCzSf5hHg7tBL6Sbc+9OHBmY6PfbwbJDtdzV6u5aINQc cbqC7lvX0Euo7km26BLxO6zrPol92jQAxbwuSOHpq7SB0RYBNpiAfopdp2cqc8VXQKDF iRLw== X-Gm-Message-State: AFuF++mGFvP4lXm7PCsTw/rYJ6/EPojwr1XBMbK4M0FOQUFRKYVMTb8B i+7Dg0VOZ9VQ2kz0q0VxMPSgJrd82NlqlVYBa38dBRz/r0s+kvsa1sZjRHBts83YKJaEFA== X-Gm-Gg: AYBFou2h4eA5qYB6sjHV+SiHsCFIENQs2nJuxh19D5XfO3rQ19aZy0RWAKeXbMKrs27 QxFWAGfpJrBcuB0lpvsKSnc16tQyWnZw+8DndRhFT2z17bgbG/KEafC2l4svdkW+jQRqAgWTRAj 8f43hxFvGJFMQzgfFija1eEZeo7IXpzPwSX/yYhZLBa2pGZ5dgIoA0naCfYaXCOqplVXwCAZidS z6cPy0oGNZEtjc1G3/D7/7hHr2PYwdEDQQvGpng/aAwbWdJrjmYhRGBC2ee3D0FleiWlRwb0q/B DHUDoZujI1Bnye6GY7zjAGc34dvdlgF/xF/gCA+I+IBD/MJmR95gl2r6k57nHIDmunHP3YoaYeF RzS3ARBE857YiUWTpc7SMfqQ7SRj7WYXMr7+ItZyPF/ZUzutvRb66h91m4BrQtUYBm8GSWaLHcT tTVrJswqQhKRdNgxZwiWiXLxRK8Ka+2uKIIzAPdI0wMEoZ7NwQE686rWXj X-Received: by 2002:a5d:5e87:0:b0:481:51ce:542f with SMTP id ffacd0b85a97d-4844175c9cdmr973669f8f.21.1788192487128; Mon, 31 Aug 2026 09:08:07 -0700 (PDT) Received: from TC-LAPTOP ([2a01:e0a:b8a:2610:ccbd:b529:37d3:c1b8]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482fbab3f3asm23849760f8f.3.2026.08.31.09.08.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 09:08:06 -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 v10 4/8] platform/x86: int3472: tps68470: add static clock consumer support Date: Mon, 31 Aug 2026 18:07:50 +0200 Message-ID: <20260831160754.9857-5-tchatard@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831160754.9857-1-tchatard@gmail.com> References: <20260831160754.9857-1-tchatard@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" On some platforms a sensor's ACPI _DEP does not list the INT3472 device, so for_each_acpi_consumer_dev() misses that sensor and never registers its tps68470-clk consumer entry, leaving the sensor without its MCLK. Add optional n_clk_consumers/clk_consumers fields to the board data. When set, probe builds the tps68470-clk platform data from that static list instead of walking the ACPI consumers. Boards that leave the fields unset keep using the existing ACPI traversal. Assisted-by: Claude Code:claude-opus-4-8 Signed-off-by: Thierry Chatard --- drivers/platform/x86/intel/int3472/tps68470.c | 19 ++++++++++++++++--- drivers/platform/x86/intel/int3472/tps68470.h | 8 ++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/drivers/platform/x86/intel/int3472/tps68470.c b/drivers/platfo= rm/x86/intel/int3472/tps68470.c index 35fa77eb3..df0f5f962 100644 --- a/drivers/platform/x86/intel/int3472/tps68470.c +++ b/drivers/platform/x86/intel/int3472/tps68470.c @@ -190,9 +190,22 @@ static int skl_int3472_tps68470_probe(struct i2c_clien= t *client) return dev_err_probe(dev, -ENODATA, "No board-data found for this model\n"); =20 - n_consumers =3D skl_int3472_fill_clk_pdata(dev, &clk_pdata); - if (n_consumers < 0) - return n_consumers; + if (board_data->n_clk_consumers) { + clk_pdata =3D devm_kzalloc(dev, + struct_size(clk_pdata, consumers, + board_data->n_clk_consumers), + GFP_KERNEL); + if (!clk_pdata) + return -ENOMEM; + clk_pdata->n_consumers =3D board_data->n_clk_consumers; + for (i =3D 0; i < board_data->n_clk_consumers; i++) + clk_pdata->consumers[i] =3D board_data->clk_consumers[i]; + n_consumers =3D board_data->n_clk_consumers; + } else { + n_consumers =3D skl_int3472_fill_clk_pdata(dev, &clk_pdata); + if (n_consumers < 0) + return n_consumers; + } =20 cells =3D kzalloc_objs(*cells, TPS68470_WIN_MFD_CELL_COUNT); if (!cells) diff --git a/drivers/platform/x86/intel/int3472/tps68470.h b/drivers/platfo= rm/x86/intel/int3472/tps68470.h index 3bbaade96..68303e6fa 100644 --- a/drivers/platform/x86/intel/int3472/tps68470.h +++ b/drivers/platform/x86/intel/int3472/tps68470.h @@ -12,12 +12,20 @@ #define _INTEL_SKL_INT3472_TPS68470_H =20 struct gpiod_lookup_table; + +struct tps68470_clk_consumer; struct tps68470_regulator_platform_data; =20 struct int3472_tps68470_board_data { const char *dev_name; const struct tps68470_regulator_platform_data *tps68470_regulator_pdata; const struct software_node *tps68470_gpio_swnode; + /* + * Optional static clock consumers, used in place of the ACPI _DEP + * traversal on platforms where a sensor's _DEP omits the INT3472. + */ + unsigned int n_clk_consumers; + const struct tps68470_clk_consumer *clk_consumers; unsigned int n_gpiod_lookups; struct gpiod_lookup_table *tps68470_gpio_lookup_tables[]; }; --=20 2.53.0 From nobody Sat Sep 26 14:38:28 2026 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (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 0FA464B5155 for ; Mon, 31 Aug 2026 16:08:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192492; cv=none; b=CgVxT/lp7mxCqUuw6+LjWwQHpP/9osBXTR506+qMrkYzrBM0EsfSvbYAf+zR4tAdNFGeztjzp3vqkE6jFeS8m9TrEA3IPnPomj88pFn6KnpXHpeWU35KJNgKkv/eOfvBphaSA3+KflpUqrkVlzwpxclcE+0MsSQzBjtRYKRxaq0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192492; c=relaxed/simple; bh=JaYYc/MebRQQvnPhb6g6B2V4uIViyu5GZFRD0yqRn88=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AbusTmrQqhs0XPH7asrPSz6KPVm+gzkHz3MssEh5l/bgN7eS8jDG9hSg1uKS5QhThvIfkMh+n/75boAX5MZr+VX1fFu7ptqYm3OpUHUPaJtoCOVu+g7EfXyaDIR61kTaz7hGTcpoh+w8/YRkLiNnvHvUkSCGwfoPrjJOR+FqVQg= 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=SkafsuVk; arc=none smtp.client-ip=209.85.128.47 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="SkafsuVk" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-49b0d8bc2aaso36782695e9.0 for ; Mon, 31 Aug 2026 09:08:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788192489; x=1788797289; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=xxKjjaswIqYpJP4gFTjG5f76wpVmS82nrOI8R56lUWA=; b=SkafsuVkNSzoPTrPEbZBTik6d1rsqaDqezKWcHYQt8qQmTLt198mzJD86cjFG5xNgF B5l6S3+hcq+nHtlk5stBks7gIBQ0B3r374UOfs3sayaf9ReTyAN10HA8V4sueOt2vZKE TUpVn5aeQM4K1LeoUE12wASGTMaJgFB+FdYSKca2Vkf2SVhxDUNNIC+yW/OSLqpH59sE b3bU5o18kl8eVMxiHNZT2GgwzCe/0BvZhumoYpSDqHB2wl6rGGaAYdFme2fTC6WU1E3F dLXYQlNwtyjaiVlWbcFB3Z/Gusj7qx3xFOtg0Qy4krknPpKGfEAXSgLO2nnbOjWcWns1 TeLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788192489; x=1788797289; h=content-transfer-encoding:mime-version:references:in-reply-to :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=xxKjjaswIqYpJP4gFTjG5f76wpVmS82nrOI8R56lUWA=; b=oDQty5X7r3Mpo/hgZ3tqfq8Lj+RxHWv2Jsp0YviF4hNUQl6aBZiw8ovET9Eq5v4zF4 VZjilj9DoF6oEGkXOTlk8r77Z3EYpvS/VwKl5yzt0M7REX0wk0f3TnV0l6+VjJeFnu67 9FcB+dLXJEM+7DHLhmBrgl+DbEb/8lz6tWLvV2oCwGG8cOWG56bB3a5op/DhcKeLBjbO TkOCWqLBYa/kRTo+Zp/VqHKKK0xgL2EPafSQZY2WnM8THfFNmz+A9x6UqD6oIiy915XA 9qkxCDy5Wz/ASY4Ge7rVWirEzvoIqyziKfoc01xF7G8y9OFfVrCZJ2aOf4LtMMezp1Bj /UgQ== X-Gm-Message-State: AFuF++n9KRsuWX1AXGba9TC6+eegqSa6vctzgEK4zQncTc+3cCR7/vDn noZEzAJNBnmiyGb7EIk2adH+ELrngrnAz70jGg5yqrNfKDbSYJQDMHCWieTitrDTT0Vm0g== X-Gm-Gg: AR+sD102TbiOXMOiWZWimXsFifs7TahXj3hgrEsOEC/vvosSTBZSEf/9egqe0gWp4GF tWfcT+4EpjPtnkYmY1s1Kxg06ZNoxsLOiEJ/zD8Cvf51yMMijQ9uyoUvKlZVkF0A7H9bD0/huXW gCbHg6sJ2BkGeAqLWAZ6W26cmHwusV5n/w7wYIJKQr8XvfeJTGg1/Xyp12EA00z5vKDVYL+xE2t HaoW1P3ZKjx6GPJkcHx0qVDiQIfqt0SRLvKZ5YZM6LdjGPucQ29K8EYPUKA8eiL0df6jj6JVxfV YhD1jYveqiRaf5CWxz+1I49JKcp6eETFv4iDoSvp0BgXJ/ohHCTiBQFl+ZMBGH+4IAHs5p92FSp RFCcu+8y8hGEBz3t+P25+8jXPkYiPl70SO+ao7K3W+nF0T0T/64tcMGnA8dhgnBBq53nBce8Gh2 sMPtHOUF9iD3aVakBb3GnndLH+ewVbYB8gYZSHuUmY2DeDBdVHoOPib0fW3vGtsLzzads= X-Received: by 2002:a05:600c:1c0a:b0:499:51f0:a9b2 with SMTP id 5b1f17b1804b1-49b91c1dd3fmr440541835e9.1.1788192488967; Mon, 31 Aug 2026 09:08:08 -0700 (PDT) Received: from TC-LAPTOP ([2a01:e0a:b8a:2610:ccbd:b529:37d3:c1b8]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482fbab3f3asm23849760f8f.3.2026.08.31.09.08.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 09:08:08 -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 v10 5/8] platform/x86: int3472: tps68470: use a common always-on VIO regulator init_data Date: Mon, 31 Aug 2026 18:07:51 +0200 Message-ID: <20260831160754.9857-6-tchatard@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831160754.9857-1-tchatard@gmail.com> References: <20260831160754.9857-1-tchatard@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The surface_go and intel_nvl board data define byte-identical VIO regulator init_data (1.8006 V, apply_uV, always_on). Replace both with a single shared common_tps68470_vio_reg_init_data so new boards with the same requirement can reuse it instead of duplicating the definition. No functional change. Assisted-by: Claude Code:claude-opus-4-8 Signed-off-by: Thierry Chatard Reviewed-by: Andy Shevchenko --- .../x86/intel/int3472/tps68470_board_data.c | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/drivers/platform/x86/intel/int3472/tps68470_board_data.c b/dri= vers/platform/x86/intel/int3472/tps68470_board_data.c index c53542465..c2ec802fc 100644 --- a/drivers/platform/x86/intel/int3472/tps68470_board_data.c +++ b/drivers/platform/x86/intel/int3472/tps68470_board_data.c @@ -75,8 +75,12 @@ static const struct regulator_init_data surface_go_tps68= 470_vcm_reg_init_data =3D .consumer_supplies =3D int347a_vcm_consumer_supplies, }; =20 -/* Ensure the always-on VIO regulator has the same voltage as VSIO */ -static const struct regulator_init_data surface_go_tps68470_vio_reg_init_d= ata =3D { +/* + * Common always-on VIO regulator init_data. Its voltage must match VSIO; + * boards using the TPS68470 I2C pass-through that need this exact setting + * can share this instead of defining their own. + */ +static const struct regulator_init_data common_tps68470_vio_reg_init_data = =3D { .constraints =3D { .min_uV =3D 1800600, .max_uV =3D 1800600, @@ -123,7 +127,7 @@ static const struct tps68470_regulator_platform_data su= rface_go_tps68470_pdata =3D [TPS68470_CORE] =3D &surface_go_tps68470_core_reg_init_data, [TPS68470_ANA] =3D &surface_go_tps68470_ana_reg_init_data, [TPS68470_VCM] =3D &surface_go_tps68470_vcm_reg_init_data, - [TPS68470_VIO] =3D &surface_go_tps68470_vio_reg_init_data, + [TPS68470_VIO] =3D &common_tps68470_vio_reg_init_data, [TPS68470_VSIO] =3D &surface_go_tps68470_vsio_reg_init_data, [TPS68470_AUX1] =3D &surface_go_tps68470_aux1_reg_init_data, [TPS68470_AUX2] =3D &surface_go_tps68470_aux2_reg_init_data, @@ -339,15 +343,6 @@ static const struct regulator_init_data intel_nvl_tps6= 8470_vcm_reg_init_data =3D { .consumer_supplies =3D ovti13b1_vcm_consumer_supplies, }; =20 -/* Ensure the always-on VIO regulator has the same voltage as VSIO */ -static const struct regulator_init_data intel_nvl_tps68470_vio_reg_init_da= ta =3D { - .constraints =3D { - .min_uV =3D 1800600, - .max_uV =3D 1800600, - .apply_uV =3D true, - .always_on =3D true, - }, -}; static const struct regulator_init_data intel_nvl_tps68470_vsio_reg_init_d= ata =3D { .constraints =3D { .min_uV =3D 1800600, @@ -364,7 +359,7 @@ static const struct tps68470_regulator_platform_data in= tel_nvl_tps68470_pdata =3D [TPS68470_CORE] =3D &intel_nvl_tps68470_core_reg_init_data, [TPS68470_ANA] =3D &intel_nvl_tps68470_ana_reg_init_data, [TPS68470_VCM] =3D &intel_nvl_tps68470_vcm_reg_init_data, - [TPS68470_VIO] =3D &intel_nvl_tps68470_vio_reg_init_data, + [TPS68470_VIO] =3D &common_tps68470_vio_reg_init_data, [TPS68470_VSIO] =3D &intel_nvl_tps68470_vsio_reg_init_data, }, }; --=20 2.53.0 From nobody Sat Sep 26 14:38:28 2026 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (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 0EF1743CEC7 for ; Mon, 31 Aug 2026 16:08:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192495; cv=none; b=a1lMr+SthQ7RR44k0RxhbVdXd03sy+EF/LZFw7PkWcGdjGUYiDUlqF5XxAE7gDCH5g2OW4i0l7F6lL8Ong+nW7PhAhk3Ar/oLOePgzjZIM8lTPpHF3eCMZTDl8qMF+71OivXqoJZePEzkn64K+h3rGjkYyJYfwfd9hZqMqiqzBA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192495; c=relaxed/simple; bh=b8VRXsl0TWgM/1ckBQPbf2CpN095S1Ie1hrTY0Ozsac=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aL8xCWrLIQ3GrK3mb0Keql49evnDazLVueOv4PrU0Pnm5v23CbLYS1E4H8P4IRBekAXG/L3wPSFUsGVKLbgc7Lb81YKIoUBJuWbpqWrdCgnxbhm/NbObtD3oNfbUVP/cNnAZ1nuXvwjlqtGbog91BbdxWrgaVHEw90DuVU9uICA= 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=CDC53shV; arc=none smtp.client-ip=209.85.221.52 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="CDC53shV" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-482e61a34e5so1242507f8f.3 for ; Mon, 31 Aug 2026 09:08:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788192491; x=1788797291; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=/+wfjOQeCqu7qc7vGs3TLJKVHeguccuJtDtaJ8F90e0=; b=CDC53shVtIq8XYTIMd5HVfAAMx6aqrst/I0xL31EVWh4anIj60ex+O9Uaz+3agzUu7 8FT6+C2l3nBawmltglHU/PckrxrLxwA4CKR9uXppuvGRhibb8C88qpFGepubL4DkigJi 2MYmYzc9GvPw5U5gmoML/eq2MICY2CszL8hE1DDydtVX+wpLG9hgRDdUv63PdLnIAn3S ICTH2mR8EWQcrmrfxLwwtIP/XOd5YrJ7mlCrj2dX0Gp/uGKuy0S94StDctdKuFW0NBzq 5K5IKz9D/fjZSTUgogLIJUhl+drXsROPqi+glxH/9qcqQVU41qVeP7MrhtRCTkgOuGNO PJRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788192491; x=1788797291; h=content-transfer-encoding:mime-version:references:in-reply-to :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=/+wfjOQeCqu7qc7vGs3TLJKVHeguccuJtDtaJ8F90e0=; b=Ca3YmXCC2W4fTkvUbOb8N0ErxLFKVECN6up9i3Y8aQmQzAcnVXhgXrUUEwIpeIBWbX JvRHcVVH+IjoGxkjn9WC0rAn/ye+fOawAyuXOsG352UPAF8KjBgxJ+7gb0+5aTjWvk8o ywxqJ4vKSVu12VNJtF71nYOlRuBNQGv/kLSreYzrRJdj4DINcGJs4eGwGBIBOzOXtJRi MKzhAVVAj/Kezov/aKfcwPpkpgPUN1D2Z4lPI1GnylOHAzjkRKkuGreoL2NnKEDPQy+o af8xLtaqa26xuQTzr6/cdG20JBLT64b0SBTKwXYle2Q2KUp9opcMo5SqKJKIleNiNtq0 n2rQ== X-Gm-Message-State: AFuF++narPhb4SOxU99KoRdYr6nqFlv1a0KsOECIV2296BXLsa5aDuFx m2fr32ya3wF0qKZObzDBnC0UxMMp3asf0IhosoEvCo3oeBqvXYxQJ/jGif57AhfHCxTCtw== X-Gm-Gg: AYBFou0NWiq1gshQPXaXe/ybJFRtFTL1StzXfEGqYe05kqUEafDvgXTaCY9vy/USJJ6 JhrU+xyJb75FgDocfTJHN25PdHWnLr5ooqMMQp220PkNUC3dfWcew9kbhhC0VTCt+W6jhpwwikQ rjOok5YyO+O51txz9r4xf6z5bxG4RcKb5V2rtQxatH2/yZXbliNzmztMHmrjgQGQU5adX6+iJEr WzV+ICxUpYPG0ZjpYnITnL5Xv0Psf5UfXc3nlIJJA2kcOA9+1FYnS6Ky4tW+hFUIUBw0c3TDTcF gDKj5wkDGq2F4SZr3MK1V0TOJtobxOeGIVYv8OcFsaNwjAPx7HFl9X2OzoG9cRos69mys7WbPg9 kIqWMXeb0LG34toqtNwRL/YlhA91yebk5QHcdrI0zboqN3ivA0g5tIpFuqkD37v1LTHsjBjNKy0 EatJke0FFOshdBO+VJWENOoBMvZomzdaG4vGRUtEE7AsnceDnvXfTg+fd3 X-Received: by 2002:a05:6000:22c9:b0:482:f2c1:c721 with SMTP id ffacd0b85a97d-482f798962cmr41700703f8f.5.1788192490958; Mon, 31 Aug 2026 09:08:10 -0700 (PDT) Received: from TC-LAPTOP ([2a01:e0a:b8a:2610:ccbd:b529:37d3:c1b8]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482fbab3f3asm23849760f8f.3.2026.08.31.09.08.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 09:08:10 -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 v10 6/8] platform/x86: int3472: tps68470: add board data for Dell Latitude 5285 Date: Mon, 31 Aug 2026 18:07:52 +0200 Message-ID: <20260831160754.9857-7-tchatard@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831160754.9857-1-tchatard@gmail.com> References: <20260831160754.9857-1-tchatard@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Dell Latitude 5285 2-in-1 has two cameras connected through a TPS68470 PMIC/clock/GPIO hub: Front: OV5670 (ACPI INT3479) on I2C4 Back: OV8858 (ACPI INT3477) on I2C2, daisy-chained behind the TPS68470 S_I2C port (controlled by reg 0x43 S_I2C_CTL) Add the regulator supply map, GPIO lookup tables and a static clock consumer list (for both sensors, to work around the broken INT3479 _DEP) for this machine, and wire it into the board-data DMI table. Regulator mapping: CORE -> dvdd/INT3477, ANA -> avdd/INT3477, VSIO -> dovdd/INT3477 (opens the S_I2C passthrough), AUX1 -> dvdd/INT3479, AUX2 -> dovdd/INT3479, VIO kept always_on. VSIO also supplies avdd for INT3479 (OV5670). Assisted-by: Claude Code:claude-opus-4-8 Signed-off-by: Thierry Chatard Reviewed-by: Andy Shevchenko --- .../x86/intel/int3472/tps68470_board_data.c | 160 ++++++++++++++++++ 1 file changed, 160 insertions(+) diff --git a/drivers/platform/x86/intel/int3472/tps68470_board_data.c b/dri= vers/platform/x86/intel/int3472/tps68470_board_data.c index c2ec802fc..90094732e 100644 --- a/drivers/platform/x86/intel/int3472/tps68470_board_data.c +++ b/drivers/platform/x86/intel/int3472/tps68470_board_data.c @@ -464,6 +464,159 @@ static const struct int3472_tps68470_board_data intel= _nvl_tps68470_board_data =3D }, }; =20 +/* Settings for Dell Latitude 5285 2-in-1 */ + +/* + * The BIOS leaves GNVS field C0TP at zero, which causes INT3479's _DEP to + * resolve to PCI0 instead of the INT3472 device. Provide a static clock + * consumer list so probe registers MCLK lookups for both sensors regardle= ss + * of the broken _DEP traversal. + */ +static const struct tps68470_clk_consumer dell_5285_clk_consumers[] =3D { + { .consumer_dev_name =3D "i2c-INT3477:00" }, /* OV8858 rear camera */ + { .consumer_dev_name =3D "i2c-INT3479:00" }, /* OV5670 front camera */ +}; + +static struct regulator_consumer_supply dell_5285_int3477_ana_consumer_sup= plies[] =3D { + REGULATOR_SUPPLY("avdd", "i2c-INT3477:00"), +}; + +static struct regulator_consumer_supply dell_5285_int3477_core_consumer_su= pplies[] =3D { + REGULATOR_SUPPLY("dvdd", "i2c-INT3477:00"), +}; + +/* + * VSIO controls the S_I2C_CTL passthrough; its voltage must match VIO + * (both 1800600 uV). dovdd/INT3477 enables the passthrough when OV8858 + * opens its I2C path. avdd/INT3479 provides the OV5670 analog supply. + */ +static struct regulator_consumer_supply dell_5285_int3477_vsio_consumer_su= pplies[] =3D { + REGULATOR_SUPPLY("dovdd", "i2c-INT3477:00"), + REGULATOR_SUPPLY("avdd", "i2c-INT3479:00"), +}; + +static struct regulator_consumer_supply dell_5285_int3479_aux1_consumer_su= pplies[] =3D { + REGULATOR_SUPPLY("dvdd", "i2c-INT3479:00"), +}; + +static struct regulator_consumer_supply dell_5285_int3479_aux2_consumer_su= pplies[] =3D { + REGULATOR_SUPPLY("dovdd", "i2c-INT3479:00"), +}; + +static const struct regulator_init_data dell_5285_tps68470_core_reg_init_d= ata =3D { + .constraints =3D { + .min_uV =3D 1200000, + .max_uV =3D 1200000, + .apply_uV =3D 1, + .valid_ops_mask =3D REGULATOR_CHANGE_STATUS, + }, + .num_consumer_supplies =3D ARRAY_SIZE(dell_5285_int3477_core_consumer_sup= plies), + .consumer_supplies =3D dell_5285_int3477_core_consumer_supplies, +}; + +static const struct regulator_init_data dell_5285_tps68470_ana_reg_init_da= ta =3D { + .constraints =3D { + .min_uV =3D 2815200, + .max_uV =3D 2815200, + .apply_uV =3D 1, + .valid_ops_mask =3D REGULATOR_CHANGE_STATUS, + }, + .num_consumer_supplies =3D ARRAY_SIZE(dell_5285_int3477_ana_consumer_supp= lies), + .consumer_supplies =3D dell_5285_int3477_ana_consumer_supplies, +}; + +static const struct regulator_init_data dell_5285_tps68470_vcm_reg_init_da= ta =3D { + .constraints =3D { + .min_uV =3D 2815200, + .max_uV =3D 2815200, + .apply_uV =3D 1, + .valid_ops_mask =3D REGULATOR_CHANGE_STATUS, + }, + .num_consumer_supplies =3D 0, + .consumer_supplies =3D NULL, +}; + +static const struct regulator_init_data dell_5285_tps68470_vsio_reg_init_d= ata =3D { + .constraints =3D { + .min_uV =3D 1800600, + .max_uV =3D 1800600, + .apply_uV =3D 1, + .valid_ops_mask =3D REGULATOR_CHANGE_STATUS, + }, + .num_consumer_supplies =3D ARRAY_SIZE(dell_5285_int3477_vsio_consumer_sup= plies), + .consumer_supplies =3D dell_5285_int3477_vsio_consumer_supplies, +}; + +static const struct regulator_init_data dell_5285_tps68470_aux1_reg_init_d= ata =3D { + .constraints =3D { + .min_uV =3D 1213200, + .max_uV =3D 1213200, + .apply_uV =3D 1, + .valid_ops_mask =3D REGULATOR_CHANGE_STATUS, + }, + .num_consumer_supplies =3D ARRAY_SIZE(dell_5285_int3479_aux1_consumer_sup= plies), + .consumer_supplies =3D dell_5285_int3479_aux1_consumer_supplies, +}; + +static const struct regulator_init_data dell_5285_tps68470_aux2_reg_init_d= ata =3D { + .constraints =3D { + .min_uV =3D 1800600, + .max_uV =3D 1800600, + .apply_uV =3D 1, + .valid_ops_mask =3D REGULATOR_CHANGE_STATUS, + }, + .num_consumer_supplies =3D ARRAY_SIZE(dell_5285_int3479_aux2_consumer_sup= plies), + .consumer_supplies =3D dell_5285_int3479_aux2_consumer_supplies, +}; + +static const struct tps68470_regulator_platform_data dell_5285_tps68470_pd= ata =3D { + .reg_init_data =3D { + [TPS68470_CORE] =3D &dell_5285_tps68470_core_reg_init_data, + [TPS68470_ANA] =3D &dell_5285_tps68470_ana_reg_init_data, + [TPS68470_VCM] =3D &dell_5285_tps68470_vcm_reg_init_data, + [TPS68470_VIO] =3D &common_tps68470_vio_reg_init_data, + [TPS68470_VSIO] =3D &dell_5285_tps68470_vsio_reg_init_data, + [TPS68470_AUX1] =3D &dell_5285_tps68470_aux1_reg_init_data, + [TPS68470_AUX2] =3D &dell_5285_tps68470_aux2_reg_init_data, + }, +}; + +static struct gpiod_lookup_table dell_5285_int3477_gpios =3D { + .dev_id =3D "i2c-INT3477:00", + .table =3D { + /* + * TPS68470 GPIO9 =3D s_resetn (secondary camera reset, active-low) + * TPS68470 GPIO7 =3D s_enable (secondary camera enable/powerdown) + * These logic outputs are specifically designed for secondary + * camera control on the TPS68470. Matches Surface Go pattern. + */ + GPIO_LOOKUP("tps68470-gpio", 9, "reset", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("tps68470-gpio", 7, "powerdown", GPIO_ACTIVE_LOW), + { } + } +}; + +static struct gpiod_lookup_table dell_5285_int3479_gpios =3D { + .dev_id =3D "i2c-INT3479:00", + .table =3D { + GPIO_LOOKUP("tps68470-gpio", 3, "reset", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("tps68470-gpio", 4, "powerdown", GPIO_ACTIVE_LOW), + { } + } +}; + +static const struct int3472_tps68470_board_data dell_5285_tps68470_board_d= ata =3D { + .dev_name =3D "i2c-INT3472:05", + .tps68470_regulator_pdata =3D &dell_5285_tps68470_pdata, + .n_clk_consumers =3D ARRAY_SIZE(dell_5285_clk_consumers), + .clk_consumers =3D dell_5285_clk_consumers, + .n_gpiod_lookups =3D 2, + .tps68470_gpio_lookup_tables =3D { + &dell_5285_int3477_gpios, + &dell_5285_int3479_gpios, + }, +}; + static const struct dmi_system_id int3472_tps68470_board_data_table[] =3D { { .matches =3D { @@ -524,6 +677,13 @@ static const struct dmi_system_id int3472_tps68470_boa= rd_data_table[] =3D { }, .driver_data =3D (void *)&intel_nvl_tps68470_board_data, }, + { + .matches =3D { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Latitude 5285"), + }, + .driver_data =3D (void *)&dell_5285_tps68470_board_data, + }, { } }; =20 --=20 2.53.0 From nobody Sat Sep 26 14:38:28 2026 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (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 E42024B540B for ; Mon, 31 Aug 2026 16:08:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192496; cv=none; b=UecjxOsCLTFWnZMJfA5s/ZCQhzcJ/eO6gOycdH1QhNoyRC6+XBGNxDiTcI8OvcI2WxL8aewz9365kEM+q+4ktE4iWpRJEgc2InVYamH7uZXQjOkUcOjJ6KW7Ic5Eg6hCSYfMLrhmNNt7edyFCOg0cVEDuhbLtEX4HjdHTQvPxU8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192496; c=relaxed/simple; bh=kDEPBFj5pAGB5N+7jdeTU/cuSWAowl3r3wbiPhwoirc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Q/Bp4JFpXk7ldZS7UKlJmbSGl0WhjmcxWZSRClM3EB+sXQOb/fIvjFymBAt/q2bawNdsM1RhYg+aYOIgBLwyP26n/QC2V2T9diB17pJBMWQUdZSKnBeZxYwmxQea+yL7HCdIJSNM5F96XUBfnjLpC4nuEhjNqexa3oDIxfbY8sk= 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=e3zVJV8C; arc=none smtp.client-ip=209.85.221.53 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="e3zVJV8C" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-482e257a23aso2086644f8f.0 for ; Mon, 31 Aug 2026 09:08:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788192493; x=1788797293; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=br+O6W1PXpNwwortFZ7nTNortOZR3mU+RseHa9TVJXM=; b=e3zVJV8CUbwa4HMF7Yk3KReX29LsOiCHoIjlTHuwV4KKaIlMIxpyE3vVbEyCIXLDAB 9m8hXkjbeEc7902Q4IGiNNaT1bhc5dx8hwzN8hQhzgB0zYgWfl3VkX+ysMA0jGXBDFK1 aGpWrHYPo5mqP6sUG0G0BPYc6juoYNH33NDV6RrDEJwhc/h3bqjEouyzxj/kgUk8ochq psf2hwlw2NDXZks7sRT4hDpTxA3J1Lijq46LIx8jXvaCvLNlZwtO78WHp/nnm4XKh1OO 0VK0Kr0F6kh3O9UJNVqvtt/o7qbpEHkmk4D/lWhbPceJKhgrxNDpQQ/mrZ8RhKAB4zQn 6Zgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788192493; x=1788797293; h=content-transfer-encoding:mime-version:references:in-reply-to :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=br+O6W1PXpNwwortFZ7nTNortOZR3mU+RseHa9TVJXM=; b=ZwJS/kN3zPuLchIPxVPMhS6lipb/+xPflX4+OdVo7rW7u0B7I7npWWaNcjJYNfakbC hlqYoCmKbaKeO7eHiE72lxe1j6jY6cwxMMbRTDqXytXb4e4vKcVfyQKJ1Hc7Hgggul7H UgTUVu8fRGnSa1HpQ35RxOc6DyXNO6m2vUPoOwJyimaR7CCjNZz1XDahQJ6TmzLuVV0P kRkp/RtBcHJYqWW2CsUBMhgLxTuWI19UNSP+NGMuOFJxds3QEorOMM0xZ8RAAM4hSC2N zk+WSZmHLUNwQQ8OM+3UVzWMzB2ys53gFrI2FP6KtWS3ocm7HkpDXXtxYnmM+4b5DMYU Bu4w== X-Gm-Message-State: AFuF++nkKY197c09KaJQJdp2uYC7J53AUJ55/QBtdkSsc6e6GrgNT6uS L+0hVK95iPkIpiA2nWvnfmTTr1c6mjSVWKVvexTjjitfnfZcpeRJ9ZFTQL09HQcBos8RmQ== X-Gm-Gg: AYBFou0qHwpLfzC6mTFq+aGH462CLYjv9BMq/zKmevN+NAa5L5RlHEG5lzH4naYRfP7 taWUsBPkjxOSquLqQa/dV99otrrzVGVVv3dwdhIp/vuDWuYZe7OzCmmrIOlL+w4kSRYJS9PIYed gZpxpGtX5x0KvVphkk74evo5Ei1EM2IROA6ChdtT/Xiloo8H5wt4O3S7qV1EG+jEWw5oPtC8ZY3 wRB6C65F46Q+XGRe7D6Ft6R4PXCyMsc7TIvb8IrKJALBNk5lRTiwI8BJ4pV2FRCt5lFwCr0Yrt6 Ib4O5D+Oz4EYU9MZBuUyxdnjniFi+M3Ph2Ty7VP/R8saXxuxezxClO9wuTygi5E0E+AW9aT5ZIM Y5JGBwomvfn/aIjOrrQnEkWvu4fQ/2shgdYxgje0riDDEygfnwhlybSJm69D19isjvGBzrdDInK vIeBvc8WjXgBwl/ZQE9/tDWcHHxZ1iLYXE8yYKwSRqKN/TckRqob2KbNSl X-Received: by 2002:a05:6000:46ca:b0:482:e707:f5e8 with SMTP id ffacd0b85a97d-482f79b04d6mr32035532f8f.10.1788192492936; Mon, 31 Aug 2026 09:08:12 -0700 (PDT) Received: from TC-LAPTOP ([2a01:e0a:b8a:2610:ccbd:b529:37d3:c1b8]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482fbab3f3asm23849760f8f.3.2026.08.31.09.08.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 09:08:12 -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 v10 7/8] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Date: Mon, 31 Aug 2026 18:07:53 +0200 Message-ID: <20260831160754.9857-8-tchatard@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831160754.9857-1-tchatard@gmail.com> References: <20260831160754.9857-1-tchatard@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Omnivision OV8858 is used as the rear camera in several Intel IPU3-based devices (e.g. Dell Latitude 5285 2-in-1). Its ACPI HID is INT3477. Add a sensor configuration entry with a link frequency of 360 MHz to allow ipu_bridge to create the firmware node for this sensor. Assisted-by: Claude Code:claude-opus-4-8 Signed-off-by: Thierry Chatard Reviewed-by: Andy Shevchenko --- drivers/media/pci/intel/ipu-bridge.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/media/pci/intel/ipu-bridge.c b/drivers/media/pci/intel= /ipu-bridge.c index 1bb3a3e98..15fe4d057 100644 --- a/drivers/media/pci/intel/ipu-bridge.c +++ b/drivers/media/pci/intel/ipu-bridge.c @@ -65,6 +65,8 @@ static const struct ipu_sensor_config ipu_supported_senso= rs[] =3D { IPU_SENSOR_CONFIG("INT33F0", 1, 384000000), /* Omnivision OV2740 */ IPU_SENSOR_CONFIG("INT3474", 1, 180000000), + /* Omnivision OV8858 */ + IPU_SENSOR_CONFIG("INT3477", 1, 360000000), /* Omnivision OV5670 */ IPU_SENSOR_CONFIG("INT3479", 1, 422400000), /* Omnivision OV8865 */ --=20 2.53.0 From nobody Sat Sep 26 14:38:28 2026 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (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 9DE494B5CCB for ; Mon, 31 Aug 2026 16:08:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192499; cv=none; b=WseKUUe60L5zuv9AvveZeKd2ezemWJ58EaP7cQgmvGrksLutQ1jDi/Sy4CpTDsfkZUVSNsk+6hp66XutWBuMxj1sKLTgvyU+hZI4Bq3V/dnqhdGD1E+LnQ829NsI5kr8umcbkOxTVWHiEwdYoTWXk6hOppciR5/JYqQ9R+9ujz0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788192499; c=relaxed/simple; bh=UmS+Y8EHGYdZm3il/1GKD/s6a3f3J8OBYpQA7/B897A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pGbsrKOKEhOlm6tqIuMPl0kvaFTLgyscvcQztNYVrY03kIKgVqZX3Utj6t5thynAD4z6a13Ac3xYxxKLxmPpcQrQkwGXwDBzW4LVXjD/FJz6SSEBqG0NubyJm5cAbY45UXxOl0LJnsIzkIJ3xO0IfBNSN+TQY982FwBWts8Z2Q4= 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=XD/4TWH4; arc=none smtp.client-ip=209.85.221.53 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="XD/4TWH4" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-482fc2b44a7so3134980f8f.2 for ; Mon, 31 Aug 2026 09:08:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788192496; x=1788797296; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=jPvwlP4rGOO2+Pk+QMwFAR8MHWtVs+GCtUx09ytGEmc=; b=XD/4TWH4sQEuGJMsc3ysZWFAwA5qqwcJQXxRY0crFpDXZCtxwCc/KMaQ8aMgxipeCc l4Y5z0a5oAZhl3/PyvLPu5Rf/ZXrntz2iUq+IXPOzkvCK6RnZjsoJk3opguMJXXfoG4I Lp+3FKunYr3mbYR4pIteLdqUjzHrN0WaQiykUw4zZzjsxcYO6lxTt7PS7O7yGp9ac0Xg srgwoXotuCS7RN3hHfaWAqbSDx9I70dhseu8Jeb3x4Go5KjyXYo7OpZZ9VF2w9lUoMzE OYQmoRLYNw6yYKpcGBfr/gnjxS19IvImcXq/yu/Z30t1WfLMeNBosdjKK2I0TxEo6xT+ fxZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788192496; x=1788797296; h=content-transfer-encoding:mime-version:references:in-reply-to :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=jPvwlP4rGOO2+Pk+QMwFAR8MHWtVs+GCtUx09ytGEmc=; b=XbYu/kpamFDB1Ho84sD2olXv9HXKoH8tIojjBMPxAYWOnP1C7LpXiorc2m9GGJzU4Z fLkhb3LONVPCDn1VnKsr/tTeQjTtSvHRIfpmnw1TW8mKjDIWiyb6nOnagWzyptFYUT9X JhdIRTonly0yGgfFgZtAtW7CunJAq5qR6fowKIpX0IKDYP52bVXW9DNV+jIjJrDbnKKJ LdCFNs7szBH+DvcByaceCA0O1Z+H5SU9NoRgBsjxxMT3D/vBdl7Q2Fajad44660usduP CkJk8FaKooFFtKTzLH8fovftV0mYsZ2hQEQhouqDxktUu93gsPtCTtbKFJ7wKTeZ8T2C utmQ== X-Gm-Message-State: AFuF++l9eiJCK/g5LiCUokwFexwZhcX4/CfYAzTXhKVcUigbN5P2rKfh 3sSJMiWjAyu+/CL+LmR8PqOFGZTDHmn6L9UniGdMZ78rxjTcbcH5+LaZFA1eeJcWHm5TZw== X-Gm-Gg: AYBFou0+8i3+jPPx7N+Bqj7qA5poNzXAu13glMnbFj8hOyoMTSveP8w6+GJ9RWnXO6v R4MfO2UMJA8MIfcvPPSBHC1/+ELXMkcaNd8ICki2DCmbyCogPgihUBoxPRukX84S8j7mUiJrNkU JI7p7ZYtcR4e1wVtabBFDga0F9sMmeih579wbiwiczu4nStdUSqjWTkj75cX7KoNHksv7tfoF71 vdBeHIPODqiwBxpBr2YkEOVhH+ujZMV7tFOB2H6umzsOXvaDzs8Smghn6KZJmtVEOdl+6IUiEna kupqFbgG0D4x3AQ5JEmEniyzwR9uNWVOLwxUFS2zZdqVxunDGskzM3yabyqZti+u7Cpt13mfYaF pCPYEXr70rZ+BGQWLHnKUJ10Yz8a0IL+Z0vk7c6MzMvNiLxXp4GZ4xlSzmyO7JB2xf3fGwCaKOj YmYz/XBo4pXbY63+flfVDTeZJfgvMVElX2FXdMLgAUVHTI09xUP0skvK5L X-Received: by 2002:a05:6000:2890:b0:484:3311:3176 with SMTP id ffacd0b85a97d-48433113230mr21848864f8f.23.1788192494991; Mon, 31 Aug 2026 09:08:14 -0700 (PDT) Received: from TC-LAPTOP ([2a01:e0a:b8a:2610:ccbd:b529:37d3:c1b8]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482fbab3f3asm23849760f8f.3.2026.08.31.09.08.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 09:08:14 -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 v10 8/8] media: ov8858: add ACPI device ID INT3477 Date: Mon, 31 Aug 2026 18:07:54 +0200 Message-ID: <20260831160754.9857-9-tchatard@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831160754.9857-1-tchatard@gmail.com> References: <20260831160754.9857-1-tchatard@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Omnivision OV8858 appears in ACPI firmware under the HID INT3477 on Intel IPU3-based platforms such as the Dell Latitude 5285 2-in-1. Add INT3477 to the ACPI match table so the driver binds when instantiated by ipu_bridge. Assisted-by: Claude Code:claude-opus-4-8 Signed-off-by: Thierry Chatard --- drivers/media/i2c/ov8858.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/media/i2c/ov8858.c b/drivers/media/i2c/ov8858.c index 3f45f7fab..f0148c1f2 100644 --- a/drivers/media/i2c/ov8858.c +++ b/drivers/media/i2c/ov8858.c @@ -1981,11 +1981,18 @@ static const struct of_device_id ov8858_of_match[] = =3D { }; MODULE_DEVICE_TABLE(of, ov8858_of_match); =20 +static const struct acpi_device_id ov8858_acpi_ids[] =3D { + { .id =3D "INT3477" }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(acpi, ov8858_acpi_ids); + static struct i2c_driver ov8858_i2c_driver =3D { .driver =3D { .name =3D "ov8858", .pm =3D &ov8858_pm_ops, .of_match_table =3D ov8858_of_match, + .acpi_match_table =3D ov8858_acpi_ids, }, .probe =3D ov8858_probe, .remove =3D ov8858_remove, --=20 2.53.0