On Sun, 24 Mar 2019 17:19:30 +0000 Jonathan Cameron <jic23@xxxxxxxxxx> wrote: > On Thu, 21 Mar 2019 08:40:44 -0700 > "Angus Ainslie (Purism)" <angus@xxxxxxxx> wrote: > > > Add an of_match table for devicetree probing. > > > > Signed-off-by: Angus Ainslie (Purism) <angus@xxxxxxxx> > > I made a small tweak (see inline) for an issue I'd missed > previously (which is pretty obscure!) > > Jonathan > > --- > > drivers/iio/light/vcnl4000.c | 22 ++++++++++++++++++++++ > > 1 file changed, 22 insertions(+) > > > > diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c > > index 5e0a8eb83ebc..308cb2d2b641 100644 > > --- a/drivers/iio/light/vcnl4000.c > > +++ b/drivers/iio/light/vcnl4000.c > > @@ -363,9 +363,31 @@ static int vcnl4000_probe(struct i2c_client *client, > > return devm_iio_device_register(&client->dev, indio_dev); > > } > > > > +static const struct of_device_id vcnl_4000_of_match[] = { > > + { > > + .compatible = "vishay,vcnl4000", > > + .data = "VCNL4000", > > + }, > > + { > > + .compatible = "vishay,vcnl4010", > > + .data = "VCNL4010", > > + }, > > + { > > + .compatible = "vishay,vcnl4010", > > + .data = "VCNL4020", > > + }, > > + { > > + .compatible = "vishay,vcnl4200", > > + .data = "VCNL4200", > > + }, > > + {}, > > +}; > > +MODULE_DEVICE_TABLE(of, vcnl4000_of_match); vcnl_4000_of_match. Fixed up. > > + > > static struct i2c_driver vcnl4000_driver = { > > .driver = { > > .name = VCNL4000_DRV_NAME, > > + .of_match_table = of_match_ptr(vcnl_4000_of_match), > Ah. I'd missed this previously. Don't use the of_match_ptr > magic anymore. It prevents ACPI probing via the weird > DSDT entry that basically says "here be devicetree". > > }, > > .probe = vcnl4000_probe, > > .id_table = vcnl4000_id, >