Hi Mauro,

Thanks for the patch.

On Sat, May 16, 2020 at 12:43:39PM +0200, Mauro Carvalho Chehab wrote:
> On devices without ACPI, or which ACPI is not prepared to
> export sensor data via DT, we need a different probing
> method.
> 
> This little driver adds initial support to probe the
> sensors found on a Dell Latitude 7285.
> 
> For now, it just detects the hardware and use request_module()
> to load a sensor driver.
> 
> In the specific case of this device, the ACPI DTST dable
> describes 2 camera sensors for this module, but the
> current upstream doesn't have yet drivers for such
> sensors. So, this patch just detects the PMIC used on
> this device and tries to load a sensor.
> 
> Once the sensor gets added, some additional code will
> be needed to pass via platform_data other details, like
> callbacks for PMIC's command to turn the sensor on/off
> and other sensor-specific settings.
> 
> The idea of this patch was inspired on how the sensors
> are probed by the staging atomisp driver.
> 
> The current result of this driver with the Dell
> Latitude 7285 is:
> 
>       ipu3_acpi i2c-INT3477:00: ipu3_acpi_probe: ACPI detected it on bus 
> ID=LNK1, HID=INT3477
>       ipu3_acpi i2c-INT3477:00: Found DMI entry for 'Latitude 7285' with 
> sensor INT3477
>       ipu3_acpi i2c-INT3477:00: Loading sensor module ov8858
>       ipu3_acpi i2c-OVTI9234:00: ipu3_acpi_probe: ACPI detected it on bus 
> ID=LNK2, HID=OVTI9234
>       ipu3_acpi i2c-OVTI9234:00: Found DMI entry for 'Latitude 7285' with 
> sensor OVTI9234
>       ipu3_acpi i2c-OVTI9234:00: Loading sensor module ov9234
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab+hua...@kernel.org>

...

> +/*
> + * Should list known sensor devices found at DSDT table as "CAM0", "CAM1", 
> ...
> + *
> + * The table below is probably incomplete. It came from the DSDT table found
> + * at a Dell Latitude 7285 (Method HCID).
> + */
> +static const struct acpi_device_id ipu3_acpi_acpi_match[] = {
> +     {"INT3471"},
> +     {"INT33BE"},
> +     {"INT3476"},
> +     {"INT3477"},
> +     {"INT3474"},
> +     {"INT3473"},
> +     {"INT3475"},
> +     {"INT3478"},
> +     {"INT3479"},
> +     {"INT347A"},
> +     {"INT347B"},
> +     {"OVTI9234"},
> +     {"OVTI9734"},
> +     {"OVTI8856"},
> +     {"OVTIF860"},
> +     {},
> +};
> +MODULE_DEVICE_TABLE(acpi, ipu3_acpi_acpi_match);

Instead of creating a new way to probe drivers on ACPI systems, please add
the appropriate ACPI device IDs to the respective drivers. E.g.
drivers/media/i2c/imx319.c implements this.

-- 
Kind regards,

Sakari Ailus
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to