]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/panel: ilitek-ili9882t: use gpiod_set_value_cansleep()
authorJohn Keeping <jkeeping@inmusicbrands.com>
Tue, 3 Mar 2026 15:21:24 +0000 (15:21 +0000)
committerNeil Armstrong <neil.armstrong@linaro.org>
Tue, 10 Mar 2026 13:26:01 +0000 (14:26 +0100)
All of these GPIO calls are in process context where they can sleep.
Use the appropriate function call to allow use of this driver with GPIO
controllers that might sleep.

Signed-off-by: John Keeping <jkeeping@inmusicbrands.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260303152124.187791-1-jkeeping@inmusicbrands.com
drivers/gpu/drm/panel/panel-ilitek-ili9882t.c

index 8b2bfb7d36385858a7da5b936ec74b9673dc4c76..5f4e0d82ee67380a6227d0143cc2d7d1396fcc7f 100644 (file)
@@ -592,7 +592,7 @@ static int ili9882t_unprepare(struct drm_panel *panel)
 {
        struct ili9882t *ili = to_ili9882t(panel);
 
-       gpiod_set_value(ili->enable_gpio, 0);
+       gpiod_set_value_cansleep(ili->enable_gpio, 0);
        usleep_range(1000, 2000);
        regulator_disable(ili->avee);
        regulator_disable(ili->avdd);
@@ -608,7 +608,7 @@ static int ili9882t_prepare(struct drm_panel *panel)
        struct ili9882t *ili = to_ili9882t(panel);
        int ret;
 
-       gpiod_set_value(ili->enable_gpio, 0);
+       gpiod_set_value_cansleep(ili->enable_gpio, 0);
        usleep_range(1000, 1500);
 
        ret = regulator_enable(ili->pp3300);
@@ -638,11 +638,11 @@ static int ili9882t_prepare(struct drm_panel *panel)
        }
        usleep_range(1000, 2000);
 
-       gpiod_set_value(ili->enable_gpio, 1);
+       gpiod_set_value_cansleep(ili->enable_gpio, 1);
        usleep_range(1000, 2000);
-       gpiod_set_value(ili->enable_gpio, 0);
+       gpiod_set_value_cansleep(ili->enable_gpio, 0);
        msleep(50);
-       gpiod_set_value(ili->enable_gpio, 1);
+       gpiod_set_value_cansleep(ili->enable_gpio, 1);
        usleep_range(6000, 10000);
 
        ret = ili->desc->init(ili);
@@ -652,7 +652,7 @@ static int ili9882t_prepare(struct drm_panel *panel)
        return 0;
 
 poweroff:
-       gpiod_set_value(ili->enable_gpio, 0);
+       gpiod_set_value_cansleep(ili->enable_gpio, 0);
        regulator_disable(ili->avee);
 poweroffavdd:
        regulator_disable(ili->avdd);
@@ -793,7 +793,7 @@ static int ili9882t_add(struct ili9882t *ili)
                return PTR_ERR(ili->enable_gpio);
        }
 
-       gpiod_set_value(ili->enable_gpio, 0);
+       gpiod_set_value_cansleep(ili->enable_gpio, 0);
 
        err = of_drm_get_panel_orientation(dev->of_node, &ili->orientation);
        if (err < 0) {