[PATCH v4 5/5] media: ov8858: add ACPI device ID INT3477

Thierry Chatard
2026-04-21T22:52:42Z

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.

The supply names array already covers the regulators needed on this
platform: the TPS68470 board data maps VSIO to the "dovdd" supply of
INT3477, so enabling dovdd via regulator_bulk_enable() also activates the
S_I2C_CTL passthrough (reg 0x43) that gates I2C access to the sensor.
No additional supply name is required in the driver.

Signed-off-by: Thierry Chatard <tchatard@gmail.com>
---
drivers/media/i2c/ov8858.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/media/i2c/ov8858.c b/drivers/media/i2c/ov8858.c
index 3f45f7fab..a1fa0be52 100644
--- a/drivers/media/i2c/ov8858.c
+++ b/drivers/media/i2c/ov8858.c
@@ -79,8 +79,8 @@

static const char * const ov8858_supply_names[] = {
"avdd", /* Analog power */
- "dovdd", /* Digital I/O power */
"dvdd", /* Digital core power */
+ "dovdd", /* Digital I/O power */
};

struct regval {
@@ -1981,11 +1981,18 @@ static const struct of_device_id ov8858_of_match[] = {
};
MODULE_DEVICE_TABLE(of, ov8858_of_match);

+static const struct acpi_device_id ov8858_acpi_ids[] = {
+ { "INT3477" },
+ { /* sentinel */ },
+};
+MODULE_DEVICE_TABLE(acpi, ov8858_acpi_ids);
+
static struct i2c_driver ov8858_i2c_driver = {
.driver = {
.name = "ov8858",
.pm = &ov8858_pm_ops,
.of_match_table = ov8858_of_match,
+ .acpi_match_table = ov8858_acpi_ids,
},
.probe = ov8858_probe,
.remove = ov8858_remove,
--
2.51.0