From: Thierry Chatard <tchatard@gmail.com>
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 <tchatard@gmail.com>
Subject: [PATCH v8 1/6] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285
Date: Wed, 26 Aug 2026 13:24:46 +0200 [thread overview]
Message-ID: <20260826112452.13539-2-tchatard@gmail.com> (raw)
In-Reply-To: <20260826112452.13539-1-tchatard@gmail.com>
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.
Signed-off-by: Thierry Chatard <tchatard@gmail.com>
---
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 63406026d..1ac1dcc41 100644
--- a/drivers/mfd/intel-lpss-acpi.c
+++ b/drivers/mfd/intel-lpss-acpi.c
@@ -8,7 +8,9 @@
* Mika Westerberg <mika.westerberg@linux.intel.com>
*/
+#include <linux/acpi.h>
#include <linux/device.h>
+#include <linux/dmi.h>
#include <linux/gfp_types.h>
#include <linux/ioport.h>
#include <linux/mod_devicetable.h>
@@ -172,6 +174,27 @@ static const struct acpi_device_id intel_lpss_acpi_ids[] = {
};
MODULE_DEVICE_TABLE(acpi, intel_lpss_acpi_ids);
+/*
+ * 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[] = {
+ /* 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[] = {
+ {
+ .matches = {
+ 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;
@@ -186,6 +209,15 @@ static int intel_lpss_acpi_probe(struct platform_device *pdev)
if (!info)
return -ENOMEM;
+ /* 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 = acpi_match_device(intel_lpss_acpi_quirk_ids, &pdev->dev);
+ if (id)
+ info->quirks |= id->driver_data;
+ }
+
/* No need to check mem and irq here as intel_lpss_probe() does it for us */
info->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
info->irq = platform_get_irq(pdev, 0);
--
2.53.0
next prev parent reply other threads:[~2026-08-26 11:26 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-26 11:24 [PATCH v8 0/6] Enable cameras on Dell Latitude 5285 2-in-1 Thierry Chatard
2026-08-26 11:24 ` Thierry Chatard [this message]
2026-08-27 7:13 ` [PATCH v8 1/6] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 Andy Shevchenko
2026-08-27 7:15 ` Andy Shevchenko
2026-08-26 11:24 ` [PATCH v8 2/6] platform/x86: int3472: tps68470: use unsigned int for GPIO lookup loop counters Thierry Chatard
2026-08-27 7:17 ` Andy Shevchenko
2026-08-26 11:24 ` [PATCH v8 3/6] platform/x86: int3472: tps68470: fix clock consumer registration for Dell Latitude 5285 Thierry Chatard
2026-08-27 7:22 ` Andy Shevchenko
2026-08-26 11:24 ` [PATCH v8 4/6] platform/x86: int3472: tps68470: add board data " Thierry Chatard
2026-08-26 11:24 ` [PATCH v8 5/6] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Thierry Chatard
2026-08-26 11:24 ` [PATCH v8 6/6] media: ov8858: add ACPI device ID INT3477 Thierry Chatard
2026-08-27 8:32 ` Andy Shevchenko
2026-08-27 12:49 ` [PATCH v8 0/6] Enable cameras on Dell Latitude 5285 2-in-1 Lee Jones
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=20260826112452.13539-2-tchatard@gmail.com \
--to=tchatard@gmail.com \
--cc=andriy.shevchenko@intel.com \
--cc=djrscally@gmail.com \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=jacopo.mondi@ideasonboard.com \
--cc=lee@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=nicholas@rothemail.net \
--cc=platform-driver-x86@vger.kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=v.vitovt@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.