Re: [PATCH v2] iio: proximity: vl53l0x-i2c add i2c_device_id

From: Jonathan Cameron
Date: Sun Oct 18 2020 - 07:33:53 EST


On Sun, 18 Oct 2020 09:01:42 +0530
Vaishnav M A <vaishnav@xxxxxxxxxxxxxxx> wrote:

> add i2c_device_id for the vl53l0x-i2c driver so
> that the device can be instantiated using i2c_new_client_device
> or from userspace, useful in cases where device tree based description
> is not possible now(Eg. a device on a gbphy i2c
> adapter created by greybus).
>
> Signed-off-by: Vaishnav M A <vaishnav@xxxxxxxxxxxxxxx>

Please fix the description as mentioned in other patches.

The code change is fine, but it does raise the question of whether we want to think
about providing a means to register such devices using the of_match_table.
It's somewhat irritating to need to provide both (I'd rather not
just provide the non-dt version rely on the old hack that drops the
vendor ID for matching).

+CC Wolfram.

> ---
> v2:
> - fix commit message
> drivers/iio/proximity/vl53l0x-i2c.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/iio/proximity/vl53l0x-i2c.c b/drivers/iio/proximity/vl53l0x-i2c.c
> index 5fbda9475ba9..7c29d4cae24a 100644
> --- a/drivers/iio/proximity/vl53l0x-i2c.c
> +++ b/drivers/iio/proximity/vl53l0x-i2c.c
> @@ -143,6 +143,12 @@ static int vl53l0x_probe(struct i2c_client *client)
> return devm_iio_device_register(&client->dev, indio_dev);
> }
>
> +static const struct i2c_device_id vl53l0x_id[] = {
> + { "vl53l0x", 0},
> + { }
> +};
> +MODULE_DEVICE_TABLE(i2c, vl53l0x_id);
> +
> static const struct of_device_id st_vl53l0x_dt_match[] = {
> { .compatible = "st,vl53l0x", },
> { }
> @@ -155,6 +161,7 @@ static struct i2c_driver vl53l0x_driver = {
> .of_match_table = st_vl53l0x_dt_match,
> },
> .probe_new = vl53l0x_probe,
> + .id_table = vl53l0x_id,
> };
> module_i2c_driver(vl53l0x_driver);
>