diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2016-06-29 21:48:46 -0400 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2016-06-30 15:39:36 -0400 |
commit | 78f5027132243b7071dc59ea6f717e2c48e12031 (patch) | |
tree | 92f00be4412f19fb66fca84503cfe1c04f12240a /drivers/iio | |
parent | 8d2c7ef80bc8a66b8c6d657a857403f93952604f (diff) |
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 <linus.walleij@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio')
-rw-r--r-- | drivers/iio/pressure/bmp280.c | 15 |
1 files changed, 15 insertions, 0 deletions
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 @@ | |||
18 | #include <linux/module.h> | 18 | #include <linux/module.h> |
19 | #include <linux/i2c.h> | 19 | #include <linux/i2c.h> |
20 | #include <linux/acpi.h> | 20 | #include <linux/acpi.h> |
21 | #include <linux/of.h> | ||
21 | #include <linux/regmap.h> | 22 | #include <linux/regmap.h> |
22 | #include <linux/delay.h> | 23 | #include <linux/delay.h> |
23 | #include <linux/iio/iio.h> | 24 | #include <linux/iio/iio.h> |
@@ -1094,6 +1095,19 @@ static const struct acpi_device_id bmp280_acpi_match[] = { | |||
1094 | }; | 1095 | }; |
1095 | MODULE_DEVICE_TABLE(acpi, bmp280_acpi_match); | 1096 | MODULE_DEVICE_TABLE(acpi, bmp280_acpi_match); |
1096 | 1097 | ||
1098 | #ifdef CONFIG_OF | ||
1099 | static const struct of_device_id bmp280_of_match[] = { | ||
1100 | { .compatible = "bosch,bme280", .data = (void *)BME280_CHIP_ID }, | ||
1101 | { .compatible = "bosch,bmp280", .data = (void *)BMP280_CHIP_ID }, | ||
1102 | { .compatible = "bosch,bmp180", .data = (void *)BMP180_CHIP_ID }, | ||
1103 | { .compatible = "bosch,bmp085", .data = (void *)BMP180_CHIP_ID }, | ||
1104 | { }, | ||
1105 | }; | ||
1106 | MODULE_DEVICE_TABLE(of, bmp280_of_match); | ||
1107 | #else | ||
1108 | #define bmp280_of_match NULL | ||
1109 | #endif | ||
1110 | |||
1097 | static const struct i2c_device_id bmp280_id[] = { | 1111 | static const struct i2c_device_id bmp280_id[] = { |
1098 | {"bmp280", BMP280_CHIP_ID }, | 1112 | {"bmp280", BMP280_CHIP_ID }, |
1099 | {"bmp180", BMP180_CHIP_ID }, | 1113 | {"bmp180", BMP180_CHIP_ID }, |
@@ -1107,6 +1121,7 @@ static struct i2c_driver bmp280_driver = { | |||
1107 | .driver = { | 1121 | .driver = { |
1108 | .name = "bmp280", | 1122 | .name = "bmp280", |
1109 | .acpi_match_table = ACPI_PTR(bmp280_acpi_match), | 1123 | .acpi_match_table = ACPI_PTR(bmp280_acpi_match), |
1124 | .of_match_table = of_match_ptr(bmp280_of_match), | ||
1110 | }, | 1125 | }, |
1111 | .probe = bmp280_probe, | 1126 | .probe = bmp280_probe, |
1112 | .id_table = bmp280_id, | 1127 | .id_table = bmp280_id, |