[Letux-kernel] [PATCH 2/9 v2] iio: pressure: bmp280: support device tree initialization

H. Nikolaus Schaller hns at goldelico.com
Thu Jun 23 10:18:09 CEST 2016


> Am 22.06.2016 um 22:53 schrieb Linus Walleij <linus.walleij at linaro.org>:
> 
> This adds device tree support to the BMP085, BMP180 and BMP280
> pressure sensors. Tested on the Qualcomm APQ8060 Dragonboard:
> 
> iio:device1$ cat in_temp_input
> 26700
> iio:device1$ cat in_pressure_input
> 99.185000000
> 
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
> ChangeLog v1->v2:
> - Fix some BMP085 misspelled as BMP058 errors.
> - Add the new BME280 sensor as well
> ---
> drivers/iio/pressure/bmp280.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/iio/pressure/bmp280.c b/drivers/iio/pressure/bmp280.c
> index dbbcd6d83e3b..655e888ef8f9 100644
> --- a/drivers/iio/pressure/bmp280.c
> +++ b/drivers/iio/pressure/bmp280.c
> @@ -18,6 +18,7 @@
> #include <linux/module.h>
> #include <linux/i2c.h>
> #include <linux/acpi.h>
> +#include <linux/of.h>
> #include <linux/regmap.h>
> #include <linux/delay.h>
> #include <linux/iio/iio.h>
> @@ -1094,6 +1095,18 @@ static const struct acpi_device_id bmp280_acpi_match[] = {
> };
> MODULE_DEVICE_TABLE(acpi, bmp280_acpi_match);
> 
> +#ifdef CONFIG_OF
> +static const struct of_device_id bmp280_of_match[] = {
> +	{ .compatible = "bosch,bme280", .data = (void *)BME280_CHIP_ID },
> +	{ .compatible = "bosch,bmp280", .data = (void *)BMP280_CHIP_ID },
> +	{ .compatible = "bosch,bmp180", .data = (void *)BMP180_CHIP_ID },
> +	{ .compatible = "bosch,bmp085", .data = (void *)BMP180_CHIP_ID },

Here I get:

FATAL: drivers/iio/pressure/bmp280-i2c: struct of_device_id is not terminated with a NULL entry!

> +};
> +MODULE_DEVICE_TABLE(of, bmp280_of_match);
> +#else
> +#define bmp280_of_match NULL
> +#endif
> +
> static const struct i2c_device_id bmp280_id[] = {
> 	{"bmp280", BMP280_CHIP_ID },
> 	{"bmp180", BMP180_CHIP_ID },
> @@ -1107,6 +1120,7 @@ static struct i2c_driver bmp280_driver = {
> 	.driver = {
> 		.name	= "bmp280",
> 		.acpi_match_table = ACPI_PTR(bmp280_acpi_match),
> +		.of_match_table = of_match_ptr(bmp280_of_match),
> 	},
> 	.probe		= bmp280_probe,
> 	.id_table	= bmp280_id,
> -- 
> 2.4.11
> 



More information about the Letux-kernel mailing list