Re: [PATCH 3/3] iio: chemical: Add OF match table for CCS811 VOC sensor

From: Jonathan Cameron
Date: Mon Apr 13 2020 - 12:51:01 EST


On Mon, 13 Apr 2020 00:06:58 +0530
mani@xxxxxxxxxx wrote:

> From: Manivannan Sadhasivam <mani@xxxxxxxxxx>
>
> Add devicetree OF match table support for CCS811 VOC sensor.
>
> Signed-off-by: Manivannan Sadhasivam <mani@xxxxxxxxxx>

Hi,

A few small things to clean up inline

Thanks,

Jonathan

> ---
> drivers/iio/chemical/ccs811.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/iio/chemical/ccs811.c b/drivers/iio/chemical/ccs811.c
> index 6cd92c49c348..313931208f61 100644
> --- a/drivers/iio/chemical/ccs811.c
> +++ b/drivers/iio/chemical/ccs811.c
> @@ -24,6 +24,7 @@
> #include <linux/iio/triggered_buffer.h>
> #include <linux/iio/trigger_consumer.h>
> #include <linux/module.h>
> +#include <linux/of.h>

You are including this just to get things in mod_devicetable.h
so include that directly instead.

>
> #define CCS811_STATUS 0x00
> #define CCS811_MEAS_MODE 0x01
> @@ -538,9 +539,16 @@ static const struct i2c_device_id ccs811_id[] = {
> };
> MODULE_DEVICE_TABLE(i2c, ccs811_id);
>
> +static const struct of_device_id ccs811_dt_ids[] = {
> + { .compatible = "ams,ccs811" },
> + { }
> +};
> +MODULE_DEVICE_TABLE(of, ccs811_dt_ids);
> +
> static struct i2c_driver ccs811_driver = {
> .driver = {
> .name = "ccs811",
> + .of_match_table = of_match_ptr(ccs811_dt_ids),
No need for the of_match_ptr macro. It has several issues.

1) Blocks PRP001 ACPI magic device types being used to instantiate
this using the device tree binding but under ACPI.
2) Will give warnings about ccs811_dt_ids being unused on no
device tree builds.

> },
> .probe = ccs811_probe,
> .remove = ccs811_remove,