From: Thierry Reding Date: Fri, 14 Mar 2014 11:03:47 +0000 (+0100) Subject: drm/panel: simple: Allow GPIO accesses to sleep X-Git-Tag: next-20140428~45^2~3 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=215f34a55c4b00a7c7b3529d05d579295190c5cd;p=karo-tx-linux.git drm/panel: simple: Allow GPIO accesses to sleep The enable GPIO for panels may be provided by GPIO expanders on slow busses (such as I2C), and therefore toggling the GPIO may sleep. Since these accesses don't happen in interrupt context, use the *_cansleep() variants of the GPIO API. Signed-off-by: Thierry Reding --- diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 9b1ae33346d4..5cf0a26d180e 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -106,7 +106,7 @@ static int panel_simple_disable(struct drm_panel *panel) } if (p->enable_gpio) - gpiod_set_value(p->enable_gpio, 0); + gpiod_set_value_cansleep(p->enable_gpio, 0); regulator_disable(p->supply); p->enabled = false; @@ -129,7 +129,7 @@ static int panel_simple_enable(struct drm_panel *panel) } if (p->enable_gpio) - gpiod_set_value(p->enable_gpio, 1); + gpiod_set_value_cansleep(p->enable_gpio, 1); if (p->backlight) { p->backlight->props.power = FB_BLANK_UNBLANK;