diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 3486431dd935..e1ce416ea630 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -252,7 +252,7 @@ static int panel_simple_unprepare(struct drm_panel *panel) if (!p->prepared) return 0; - gpiod_set_value_cansleep(p->enable_gpio, 0); + gpiod_direction_output(p->enable_gpio, 0); panel_simple_regulator_disable(panel); @@ -278,7 +278,7 @@ static int panel_simple_prepare(struct drm_panel *panel) return err; } - gpiod_set_value_cansleep(p->enable_gpio, 1); + gpiod_direction_output(p->enable_gpio, 1); if (p->desc->delay.prepare) msleep(p->desc->delay.prepare); @@ -376,7 +376,7 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc) return PTR_ERR(panel->supply); panel->enable_gpio = devm_gpiod_get_optional(dev, "enable", - GPIOD_OUT_LOW); + GPIOD_ASIS); if (IS_ERR(panel->enable_gpio)) { err = PTR_ERR(panel->enable_gpio); if (err != -EPROBE_DEFER)