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

From: Vaishnav M A
Date: Sun Oct 18 2020 - 11:23:52 EST


On Sun, Oct 18, 2020 at 5:03 PM Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
>
> 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.
>
Thank you Jonathan for your review, I have sent a v3 patch with fixed
description : https://lore.kernel.org/patchwork/patch/1322196/
understand your concern about the redundant device_id(s), it will be nice to see
of_match_table reused in such cases as you suggested.

> 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);
> >
>