Message ID | 20201018033142.GA27793@ubuntu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] iio: proximity: vl53l0x-i2c add i2c_device_id | expand |
On Sun, 18 Oct 2020 09:01:42 +0530 Vaishnav M A <vaishnav@beagleboard.org> 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@beagleboard.org> 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); >
On Sun, Oct 18, 2020 at 5:03 PM Jonathan Cameron <jic23@kernel.org> wrote: > > On Sun, 18 Oct 2020 09:01:42 +0530 > Vaishnav M A <vaishnav@beagleboard.org> 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@beagleboard.org> > > 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); > > >
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);
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@beagleboard.org> --- v2: - fix commit message drivers/iio/proximity/vl53l0x-i2c.c | 7 +++++++ 1 file changed, 7 insertions(+)