From: Linus Walleij Date: Thu, 30 Jun 2016 01:48:46 +0000 (+0200) Subject: iio: pressure: bmp280: support device tree initialization X-Git-Tag: v4.8-rc1~193^2^2~40 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=78f5027132243b7071dc59ea6f717e2c48e12031;p=karo-tx-linux.git iio: pressure: bmp280: support device tree initialization 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 Signed-off-by: Jonathan Cameron --- diff --git a/drivers/iio/pressure/bmp280.c b/drivers/iio/pressure/bmp280.c index dbbcd6d83e3b..a147ce2de0e1 100644 --- a/drivers/iio/pressure/bmp280.c +++ b/drivers/iio/pressure/bmp280.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -1094,6 +1095,19 @@ 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 }, + { }, +}; +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 +1121,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,