Skip to content

Commit

Permalink
iio: pressure: bmp280: support device tree initialization
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Jonathan Cameron <[email protected]>
  • Loading branch information
linusw authored and jic23 committed Jun 30, 2016
1 parent 8d2c7ef commit 78f5027
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions drivers/iio/pressure/bmp280.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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 },
Expand All @@ -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,
Expand Down

0 comments on commit 78f5027

Please sign in to comment.