diff mbox series

[v2,1/3] video: ssd1307fb: Use gpiod_set_value_cansleep() for reset

Message ID 1537363049-48399-1-git-send-email-michal.vokac@ysoft.com (mailing list archive)
State New, archived
Headers show
Series [v2,1/3] video: ssd1307fb: Use gpiod_set_value_cansleep() for reset | expand

Commit Message

Michal Vokáč Sept. 19, 2018, 1:17 p.m. UTC
The reset signal can be produced by GPIO expander that can sleep.
In that case the probe function fails. Allow using GPIO expanders for
the reset signal by using the non-atomic gpiod_set_value_cansleep()
function.

Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
---
v2 changes: none

 drivers/video/fbdev/ssd1307fb.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Michal Vokáč Sept. 20, 2018, 7:47 a.m. UTC | #1
On 19.9.2018 15:17, Michal Vokáč wrote:
> The reset signal can be produced by GPIO expander that can sleep.
> In that case the probe function fails. Allow using GPIO expanders for
> the reset signal by using the non-atomic gpiod_set_value_cansleep()
> function.
> 
> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>

I forgot to add R-by from Fabio from v1, sorry.
I made the respin in a hurry and skipped my pre-submission checklist..

Michal

> ---
> v2 changes: none
> 
>   drivers/video/fbdev/ssd1307fb.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
> index ba66c02..e7ae135 100644
> --- a/drivers/video/fbdev/ssd1307fb.c
> +++ b/drivers/video/fbdev/ssd1307fb.c
> @@ -728,9 +728,9 @@ static int ssd1307fb_probe(struct i2c_client *client,
>   
>   	if (par->reset) {
>   		/* Reset the screen */
> -		gpiod_set_value(par->reset, 0);
> +		gpiod_set_value_cansleep(par->reset, 0);
>   		udelay(4);
> -		gpiod_set_value(par->reset, 1);
> +		gpiod_set_value_cansleep(par->reset, 1);
>   		udelay(4);
>   	}
>   
>
diff mbox series

Patch

diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
index ba66c02..e7ae135 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c
@@ -728,9 +728,9 @@  static int ssd1307fb_probe(struct i2c_client *client,
 
 	if (par->reset) {
 		/* Reset the screen */
-		gpiod_set_value(par->reset, 0);
+		gpiod_set_value_cansleep(par->reset, 0);
 		udelay(4);
-		gpiod_set_value(par->reset, 1);
+		gpiod_set_value_cansleep(par->reset, 1);
 		udelay(4);
 	}