* [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