diff mbox series

[1/1] iio: potentiometer: ad5272: Correct polarity of reset

Message ID 20201124050014.4453-1-preid@electromag.com.au (mailing list archive)
State New, archived
Headers show
Series [1/1] iio: potentiometer: ad5272: Correct polarity of reset | expand

Commit Message

Phil Reid Nov. 24, 2020, 5 a.m. UTC
The driver should assert reset by setting the gpio high, and
then release it by setting it the gpio low. This allows the
device tree (or other hardware definition) to specify how the
gpio is configured.

For example as open drain or push-pull depending on the
connected hardware.

Signed-off-by: Phil Reid <preid@electromag.com.au>
---
 drivers/iio/potentiometer/ad5272.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Jonathan Cameron Nov. 28, 2020, 1:43 p.m. UTC | #1
On Tue, 24 Nov 2020 13:00:14 +0800
Phil Reid <preid@electromag.com.au> wrote:

> The driver should assert reset by setting the gpio high, and
> then release it by setting it the gpio low. This allows the
> device tree (or other hardware definition) to specify how the
> gpio is configured.
> 
> For example as open drain or push-pull depending on the
> connected hardware.
> 
> Signed-off-by: Phil Reid <preid@electromag.com.au>

I'm in 2 minds on whether we want to push this back to stable or not.
Phil, do you have any idea if we have dt in the wild for this on any
boards where people are actually likely to update their kernel
(to stable)?

Applied to togreg branch of iio.git.  If we want a stable backport
after this has gone out in a non-rebasing tree we can request it
explicitly.

Thanks,

Jonathan

> ---
>  drivers/iio/potentiometer/ad5272.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/potentiometer/ad5272.c b/drivers/iio/potentiometer/ad5272.c
> index 70c45d346df0..d8cbd170262f 100644
> --- a/drivers/iio/potentiometer/ad5272.c
> +++ b/drivers/iio/potentiometer/ad5272.c
> @@ -143,13 +143,13 @@ static int ad5272_reset(struct ad5272_data *data)
>  	struct gpio_desc *reset_gpio;
>  
>  	reset_gpio = devm_gpiod_get_optional(&data->client->dev, "reset",
> -		GPIOD_OUT_LOW);
> +		GPIOD_OUT_HIGH);
>  	if (IS_ERR(reset_gpio))
>  		return PTR_ERR(reset_gpio);
>  
>  	if (reset_gpio) {
>  		udelay(1);
> -		gpiod_set_value(reset_gpio, 1);
> +		gpiod_set_value(reset_gpio, 0);
>  	} else {
>  		ad5272_write(data, AD5272_RESET, 0);
>  	}
diff mbox series

Patch

diff --git a/drivers/iio/potentiometer/ad5272.c b/drivers/iio/potentiometer/ad5272.c
index 70c45d346df0..d8cbd170262f 100644
--- a/drivers/iio/potentiometer/ad5272.c
+++ b/drivers/iio/potentiometer/ad5272.c
@@ -143,13 +143,13 @@  static int ad5272_reset(struct ad5272_data *data)
 	struct gpio_desc *reset_gpio;
 
 	reset_gpio = devm_gpiod_get_optional(&data->client->dev, "reset",
-		GPIOD_OUT_LOW);
+		GPIOD_OUT_HIGH);
 	if (IS_ERR(reset_gpio))
 		return PTR_ERR(reset_gpio);
 
 	if (reset_gpio) {
 		udelay(1);
-		gpiod_set_value(reset_gpio, 1);
+		gpiod_set_value(reset_gpio, 0);
 	} else {
 		ad5272_write(data, AD5272_RESET, 0);
 	}