Re: [PATCH v3 2/5] iio: light: vcnl4000 add devicetree hooks

From: Jonathan Cameron
Date: Sun Mar 24 2019 - 13:19:41 EST


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