Linux IIO development
 help / color / mirror / Atom feed
* [PATCH v5 3/3] iio: pressure: bmp280: Use gpiod_set_value_cansleep()
@ 2025-08-24 12:06 Salah Triki
  2025-08-25 14:52 ` Jonathan Cameron
  2025-09-13 14:25 ` Jonathan Cameron
  0 siblings, 2 replies; 3+ messages in thread
From: Salah Triki @ 2025-08-24 12:06 UTC (permalink / raw)
  To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
	linux-iio, linux-kernel
  Cc: salah.triki

Replace `gpiod_set_value()` with `gpiod_set_value_cansleep()`, which is
required when the GPIO controller is connected via a slow bus such as
I2C. This is also safe to use in sleepable contexts like the driver
probe function.

Signed-off-by: Salah Triki <salah.triki@gmail.com>
Reviewed-by: David Lechner <dlechner@baylibre.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
Changes in v5:
  - Clarify commit message in patch 3/3 to better explain why
    gpiod_set_value_cansleep() is needed, as suggested by Andy
    Shevchenko.

Changes in v4:
  - Split patch 2/2 into two separate patches, as suggested by Markus
    Elfring.

Changes in v3:
  - Split into two separate patches, as suggested by Andy Shevchenko.
  - Improve the error message to "failed to get reset GPIO", as
    suggested by David Lechner.
  - Add Fixes and Cc tags where appropriate, as suggested by Markus
    Elfring.

Changes in v2:
  - Use IS_ERR() instead of IS_ERR_OR_NULL()
  - Drop dev_info()
  - Use gpiod_set_value_cansleep()
  - Improve commit title and message
 drivers/iio/pressure/bmp280-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iio/pressure/bmp280-core.c b/drivers/iio/pressure/bmp280-core.c
index 1f0852fc3414..656f6189c84c 100644
--- a/drivers/iio/pressure/bmp280-core.c
+++ b/drivers/iio/pressure/bmp280-core.c
@@ -3217,7 +3217,7 @@ int bmp280_common_probe(struct device *dev,
 		return dev_err_probe(dev, PTR_ERR(gpiod), "failed to get reset GPIO\n");
 
 	/* Deassert the signal */
-	gpiod_set_value(gpiod, 0);
+	gpiod_set_value_cansleep(gpiod, 0);
 
 	data->regmap = regmap;
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v5 3/3] iio: pressure: bmp280: Use gpiod_set_value_cansleep()
  2025-08-24 12:06 [PATCH v5 3/3] iio: pressure: bmp280: Use gpiod_set_value_cansleep() Salah Triki
@ 2025-08-25 14:52 ` Jonathan Cameron
  2025-09-13 14:25 ` Jonathan Cameron
  1 sibling, 0 replies; 3+ messages in thread
From: Jonathan Cameron @ 2025-08-25 14:52 UTC (permalink / raw)
  To: Salah Triki
  Cc: David Lechner, Nuno Sá, Andy Shevchenko, linux-iio,
	linux-kernel

On Sun, 24 Aug 2025 13:06:09 +0100
Salah Triki <salah.triki@gmail.com> wrote:

> Replace `gpiod_set_value()` with `gpiod_set_value_cansleep()`, which is
> required when the GPIO controller is connected via a slow bus such as
> I2C. This is also safe to use in sleepable contexts like the driver
> probe function.
> 
> Signed-off-by: Salah Triki <salah.triki@gmail.com>
> Reviewed-by: David Lechner <dlechner@baylibre.com>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
Don't worry about keeping the number of patches consistent if some
are already applied.  However, I'm not sure where the previous patch 2
has gone...

Jonathan

> Changes in v5:
>   - Clarify commit message in patch 3/3 to better explain why
>     gpiod_set_value_cansleep() is needed, as suggested by Andy
>     Shevchenko.
> 
> Changes in v4:
>   - Split patch 2/2 into two separate patches, as suggested by Markus
>     Elfring.
> 
> Changes in v3:
>   - Split into two separate patches, as suggested by Andy Shevchenko.
>   - Improve the error message to "failed to get reset GPIO", as
>     suggested by David Lechner.
>   - Add Fixes and Cc tags where appropriate, as suggested by Markus
>     Elfring.
> 
> Changes in v2:
>   - Use IS_ERR() instead of IS_ERR_OR_NULL()
>   - Drop dev_info()
>   - Use gpiod_set_value_cansleep()
>   - Improve commit title and message
>  drivers/iio/pressure/bmp280-core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/pressure/bmp280-core.c b/drivers/iio/pressure/bmp280-core.c
> index 1f0852fc3414..656f6189c84c 100644
> --- a/drivers/iio/pressure/bmp280-core.c
> +++ b/drivers/iio/pressure/bmp280-core.c
> @@ -3217,7 +3217,7 @@ int bmp280_common_probe(struct device *dev,
>  		return dev_err_probe(dev, PTR_ERR(gpiod), "failed to get reset GPIO\n");
>  
>  	/* Deassert the signal */
> -	gpiod_set_value(gpiod, 0);
> +	gpiod_set_value_cansleep(gpiod, 0);
>  
>  	data->regmap = regmap;
>  


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v5 3/3] iio: pressure: bmp280: Use gpiod_set_value_cansleep()
  2025-08-24 12:06 [PATCH v5 3/3] iio: pressure: bmp280: Use gpiod_set_value_cansleep() Salah Triki
  2025-08-25 14:52 ` Jonathan Cameron
@ 2025-09-13 14:25 ` Jonathan Cameron
  1 sibling, 0 replies; 3+ messages in thread
From: Jonathan Cameron @ 2025-09-13 14:25 UTC (permalink / raw)
  To: Salah Triki
  Cc: David Lechner, Nuno Sá, Andy Shevchenko, linux-iio,
	linux-kernel

On Sun, 24 Aug 2025 13:06:09 +0100
Salah Triki <salah.triki@gmail.com> wrote:

> Replace `gpiod_set_value()` with `gpiod_set_value_cansleep()`, which is
> required when the GPIO controller is connected via a slow bus such as
> I2C. This is also safe to use in sleepable contexts like the driver
> probe function.
> 
> Signed-off-by: Salah Triki <salah.triki@gmail.com>
> Reviewed-by: David Lechner <dlechner@baylibre.com>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
dropped my editted v3 and picked this up.

Please don't send parts of patch series and if a patch has already
being replied, it is fine for the numbering in a later version to update
to reflect that.  Anyhow not a problem this time as I think I have
all the right patches.

Jonathan

> ---
> Changes in v5:
>   - Clarify commit message in patch 3/3 to better explain why
>     gpiod_set_value_cansleep() is needed, as suggested by Andy
>     Shevchenko.
> 
> Changes in v4:
>   - Split patch 2/2 into two separate patches, as suggested by Markus
>     Elfring.
> 
> Changes in v3:
>   - Split into two separate patches, as suggested by Andy Shevchenko.
>   - Improve the error message to "failed to get reset GPIO", as
>     suggested by David Lechner.
>   - Add Fixes and Cc tags where appropriate, as suggested by Markus
>     Elfring.
> 
> Changes in v2:
>   - Use IS_ERR() instead of IS_ERR_OR_NULL()
>   - Drop dev_info()
>   - Use gpiod_set_value_cansleep()
>   - Improve commit title and message
>  drivers/iio/pressure/bmp280-core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/pressure/bmp280-core.c b/drivers/iio/pressure/bmp280-core.c
> index 1f0852fc3414..656f6189c84c 100644
> --- a/drivers/iio/pressure/bmp280-core.c
> +++ b/drivers/iio/pressure/bmp280-core.c
> @@ -3217,7 +3217,7 @@ int bmp280_common_probe(struct device *dev,
>  		return dev_err_probe(dev, PTR_ERR(gpiod), "failed to get reset GPIO\n");
>  
>  	/* Deassert the signal */
> -	gpiod_set_value(gpiod, 0);
> +	gpiod_set_value_cansleep(gpiod, 0);
>  
>  	data->regmap = regmap;
>  


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-09-13 14:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-24 12:06 [PATCH v5 3/3] iio: pressure: bmp280: Use gpiod_set_value_cansleep() Salah Triki
2025-08-25 14:52 ` Jonathan Cameron
2025-09-13 14:25 ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox