]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
video: ssd1307fb: Use gpiod_set_value_cansleep() for reset
authorMichal Vokáč <michal.vokac@ysoft.com>
Mon, 8 Oct 2018 10:57:36 +0000 (12:57 +0200)
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Mon, 8 Oct 2018 10:57:36 +0000 (12:57 +0200)
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>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Rob Herring <robh+dt@kernel.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
drivers/video/fbdev/ssd1307fb.c

index 6439231f2db22ec13a227ed009598d58cadd737f..4061a20cfe24a2a33b0e8eda203ac6bad718cb3d 100644 (file)
@@ -667,9 +667,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);
        }