#include <linux/delay.h>
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
+#include <linux/gpio/consumer.h>
/* BMP280 specific registers */
#define BMP280_REG_HUMIDITY_LSB 0xFE
struct iio_dev *indio_dev;
struct bmp280_data *data;
unsigned int chip_id;
+ struct gpio_desc *gpiod;
indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
if (!indio_dev)
return -EINVAL;
}
+ /* Bring chip out of reset if there is an assigned GPIO line */
+ gpiod = devm_gpiod_get(&client->dev, "reset", GPIOD_OUT_HIGH);
+ /* Deassert the signal */
+ if (!IS_ERR(gpiod)) {
+ dev_info(&client->dev, "release reset\n");
+ gpiod_set_value(gpiod, 0);
+ }
+
data->regmap = devm_regmap_init_i2c(client,
data->chip_info->regmap_config);
if (IS_ERR(data->regmap)) {