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

Hans de Goede
2026-04-27T12:06:51Z

Hi Thierry,

Thank you for your work on this.

On 25-Apr-26 18:31, Thierry Chatard wrote:
> 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 are reordered to dvdd before dovdd so that core power is
> stable before the I2C passthrough opens (on this platform dovdd maps to
> the VSIO/S_I2C_CTL regulator, which gates I2C access to the sensor).

Is this really necessary? Did you test without this change ?

Also note that this is not really how things work, the bulk
regulator API parallelizes the enabling of all the regulators,
so there is no guarantee the regulators will get enabled in
a specific order.

Regards,

Hans

>
> 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,