On Thu, 21 Mar 2019 08:40:44 -0700
"Angus Ainslie (Purism)" <[email protected]> wrote:

> Add an of_match table for devicetree probing.
> 
> Signed-off-by: Angus Ainslie (Purism) <[email protected]>

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,

Reply via email to