The SSD130x OLED display reset signal is active low. Now the reset
sequence is implemented in such a way that users are forced to
define reset-gpios as GPIO_ACTIVE_HIGH in DT to make the reset work.

Do not hard code the active-low sequence into the driver but instead
allow the user to specify the gpio as GPIO_ACTIVE_LOW to reflect
the real world.

Reviewed-by: Rob Herring <r...@kernel.org>
Signed-off-by: Michal Vokáč <michal.vo...@ysoft.com>
---
Changes from v1:
 - Add R-by from Rob

 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 4061a20..3b361bc 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c
@@ -667,10 +667,10 @@ static int ssd1307fb_probe(struct i2c_client *client,
 
        if (par->reset) {
                /* Reset the screen */
-               gpiod_set_value_cansleep(par->reset, 0);
-               udelay(4);
                gpiod_set_value_cansleep(par->reset, 1);
                udelay(4);
+               gpiod_set_value_cansleep(par->reset, 0);
+               udelay(4);
        }
 
        if (par->vbat_reg) {
-- 
2.1.4

Reply via email to