The ilitek-ili9881c controls the reset GPIO using the non-sleeping
gpiod_set_value() function. This complains loudly when the GPIO
controller needs to sleep. As the caller can sleep, use
gpiod_set_value_cansleep() to fix the issue.

Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
---
 drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c 
b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
index 80b386f91320..084c37fa7348 100644
--- a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
+++ b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
@@ -1276,10 +1276,10 @@ static int ili9881c_prepare(struct drm_panel *panel)
        msleep(5);
 
        /* And reset it */
-       gpiod_set_value(ctx->reset, 1);
+       gpiod_set_value_cansleep(ctx->reset, 1);
        msleep(20);
 
-       gpiod_set_value(ctx->reset, 0);
+       gpiod_set_value_cansleep(ctx->reset, 0);
        msleep(20);
 
        for (i = 0; i < ctx->desc->init_length; i++) {
@@ -1334,7 +1334,7 @@ static int ili9881c_unprepare(struct drm_panel *panel)
 
        mipi_dsi_dcs_enter_sleep_mode(ctx->dsi);
        regulator_disable(ctx->power);
-       gpiod_set_value(ctx->reset, 1);
+       gpiod_set_value_cansleep(ctx->reset, 1);
 
        return 0;
 }
-- 
Regards,

Laurent Pinchart

Reply via email to