Re: [PATCH v2 4/4] [media] ad5820: Add support for of-autoload

From: Laurent Pinchart
Date: Thu Sep 20 2018 - 16:10:17 EST


Hi Ricardo,

Thank you for the patch.

On Thursday, 20 September 2018 21:31:51 EEST Ricardo Ribalda Delgado wrote:
> Since kernel 4.16, i2c devices with DT compatible tag are modprobed
> using their DT modalias.
> Without this patch, if this driver is build as module it would never
> be autoprobed.
>
> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>
> ---
> drivers/media/i2c/ad5820.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/media/i2c/ad5820.c b/drivers/media/i2c/ad5820.c
> index 20931217e3b1..75b9b8aa5533 100644
> --- a/drivers/media/i2c/ad5820.c
> +++ b/drivers/media/i2c/ad5820.c
> @@ -375,12 +375,19 @@ static const struct i2c_device_id ad5820_id_table[] =
> { };
> MODULE_DEVICE_TABLE(i2c, ad5820_id_table);
>
> +static const struct of_device_id ad5820_of_table[] = {
> + { .compatible = "adi,"AD5820_NAME },

I'd spell this out explicitly, to make it easier to grep for the compatible
string.

> + { }
> +};
> +MODULE_DEVICE_TABLE(of, ad5820_of_table);
> +
> static SIMPLE_DEV_PM_OPS(ad5820_pm, ad5820_suspend, ad5820_resume);
>
> static struct i2c_driver ad5820_i2c_driver = {
> .driver = {
> .name = AD5820_NAME,
> .pm = &ad5820_pm,
> + .of_match_table = ad5820_of_table,

As the driver doesn't depend on CONFIG_OF, would it make sense to use
of_config_ptr() (and to compile the of table conditionally on CONFIG_OF) ?

> },
> .probe = ad5820_probe,
> .remove = ad5820_remove,

--
Regards,

Laurent Pinchart