[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-iio
Subject:    Re: [PATCH 03/10 v4] iio: pressure: bmp280: add reset GPIO line handling
From:       Jonathan Cameron <jic23 () kernel ! org>
Date:       2016-06-30 19:25:59
Message-ID: 30468a81-6c7f-827c-4842-8aa42b43917a () kernel ! org
[Download RAW message or body]

On 30/06/16 02:48, Linus Walleij wrote:
> On the APQ8060 Dragonboard the reset line to the BMP085 pressure
> sensor is not deasserted on boot, so the driver needs to handle
> this. For a simple GPIO line supplied as a descriptor (from a board
> file, device tree or ACPI) this does the trick.
> 
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Applied.
> ---
> ChangeLog v3->v4:
> - Fix BMP058->BMP085 in commit message
> ChangeLog v2->v3:
> - None, just rebasing/resending
> ---
>  drivers/iio/pressure/bmp280.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/iio/pressure/bmp280.c b/drivers/iio/pressure/bmp280.c
> index fa76f5851245..1618968f8889 100644
> --- a/drivers/iio/pressure/bmp280.c
> +++ b/drivers/iio/pressure/bmp280.c
> @@ -23,6 +23,7 @@
>  #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
> @@ -1024,6 +1025,7 @@ static int bmp280_probe(struct i2c_client *client,
>  	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)
> @@ -1063,6 +1065,14 @@ static int bmp280_probe(struct i2c_client *client,
>  		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)) {
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic