drm/bridge: sii902x: Allow reset line to be tied to a sleepy GPIO controller

Message ID 20221228145704.939801-1-w.egorov@phytec.de
State New
Headers
Series drm/bridge: sii902x: Allow reset line to be tied to a sleepy GPIO controller |

Commit Message

Wadim Egorov Dec. 28, 2022, 2:57 p.m. UTC
  Switch to gpiod_set_value_cansleep() in sii902x_reset().
This is relevant if the reset line is tied to a I2C GPIO
controller.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
---
 drivers/gpu/drm/bridge/sii902x.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Andrzej Hajda Dec. 30, 2022, 3:39 p.m. UTC | #1
On 28.12.2022 15:57, Wadim Egorov wrote:
> Switch to gpiod_set_value_cansleep() in sii902x_reset().
> This is relevant if the reset line is tied to a I2C GPIO
> controller.
>
> Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>

Regards
Andrzej
> ---
>   drivers/gpu/drm/bridge/sii902x.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c
> index 878fb7d3732b..980611aec2f6 100644
> --- a/drivers/gpu/drm/bridge/sii902x.c
> +++ b/drivers/gpu/drm/bridge/sii902x.c
> @@ -240,12 +240,12 @@ static void sii902x_reset(struct sii902x *sii902x)
>   	if (!sii902x->reset_gpio)
>   		return;
>   
> -	gpiod_set_value(sii902x->reset_gpio, 1);
> +	gpiod_set_value_cansleep(sii902x->reset_gpio, 1);
>   
>   	/* The datasheet says treset-min = 100us. Make it 150us to be sure. */
>   	usleep_range(150, 200);
>   
> -	gpiod_set_value(sii902x->reset_gpio, 0);
> +	gpiod_set_value_cansleep(sii902x->reset_gpio, 0);
>   }
>   
>   static enum drm_connector_status sii902x_detect(struct sii902x *sii902x)
  
Neil Armstrong Jan. 19, 2023, 7:41 a.m. UTC | #2
Hi,

On Wed, 28 Dec 2022 15:57:04 +0100, Wadim Egorov wrote:
> Switch to gpiod_set_value_cansleep() in sii902x_reset().
> This is relevant if the reset line is tied to a I2C GPIO
> controller.
> 
> 

Thanks, Applied to https://anongit.freedesktop.org/git/drm/drm-misc.git (drm-misc-next)

[1/1] drm/bridge: sii902x: Allow reset line to be tied to a sleepy GPIO controller
      https://cgit.freedesktop.org/drm/drm-misc/commit/?id=5688ca34698c734d5591add39e72380123132656
  

Patch

diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c
index 878fb7d3732b..980611aec2f6 100644
--- a/drivers/gpu/drm/bridge/sii902x.c
+++ b/drivers/gpu/drm/bridge/sii902x.c
@@ -240,12 +240,12 @@  static void sii902x_reset(struct sii902x *sii902x)
 	if (!sii902x->reset_gpio)
 		return;
 
-	gpiod_set_value(sii902x->reset_gpio, 1);
+	gpiod_set_value_cansleep(sii902x->reset_gpio, 1);
 
 	/* The datasheet says treset-min = 100us. Make it 150us to be sure. */
 	usleep_range(150, 200);
 
-	gpiod_set_value(sii902x->reset_gpio, 0);
+	gpiod_set_value_cansleep(sii902x->reset_gpio, 0);
 }
 
 static enum drm_connector_status sii902x_detect(struct sii902x *sii902x)