From f24d59c6dd8b0e429dbea030aca2e60b09401bdb Mon Sep 17 00:00:00 2001 From: Sandy Huang Date: Thu, 4 Jul 2019 14:09:42 +0800 Subject: [PATCH] drm/panel: panel-simple: Don't init gpio value at probe When enable display on loader, init gpio would change gpio status, that would make screen flash. Change-Id: I4b69a8d3d83c5bef09014c2134abaee6522a7046 Signed-off-by: Mark Yao Signed-off-by: Sandy Huang Signed-off-by: Guochun Huang --- drivers/gpu/drm/panel/panel-simple.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 205dacba201c..866834f3ecd2 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -585,8 +585,8 @@ static int panel_simple_suspend(struct device *dev) } } - gpiod_set_value_cansleep(p->reset_gpio, 1); - gpiod_set_value_cansleep(p->enable_gpio, 0); + gpiod_direction_output(p->reset_gpio, 1); + gpiod_direction_output(p->enable_gpio, 0); panel_simple_regulator_disable(p); @@ -630,7 +630,7 @@ static int panel_simple_resume(struct device *dev) return err; } - gpiod_set_value_cansleep(p->enable_gpio, 1); + gpiod_direction_output(p->enable_gpio, 1); if (p->desc->delay.prepare) panel_simple_msleep(p->desc->delay.prepare); @@ -642,12 +642,12 @@ static int panel_simple_resume(struct device *dev) return 0; } - gpiod_set_value_cansleep(p->reset_gpio, 1); + gpiod_direction_output(p->reset_gpio, 1); if (p->desc->delay.reset) panel_simple_msleep(p->desc->delay.reset); - gpiod_set_value_cansleep(p->reset_gpio, 0); + gpiod_direction_output(p->reset_gpio, 0); if (p->desc->delay.init) panel_simple_msleep(p->desc->delay.init);