drm/bridge: ti-sn65dsi86: Allow GPIO operations to sleep
authorAlexander Stein <alexander.stein@ew.tq-group.com>
Wed, 5 Apr 2023 13:51:27 +0000 (15:51 +0200)
committerDouglas Anderson <dianders@chromium.org>
Wed, 5 Apr 2023 15:33:19 +0000 (08:33 -0700)
There is no need to require non-sleeping GPIO access. Silence the
WARN_ON() if GPIO is using e.g. I2C expanders.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230405135127.769665-1-alexander.stein@ew.tq-group.com
drivers/gpu/drm/bridge/ti-sn65dsi86.c

index 1e26fa6..7a74878 100644 (file)
@@ -363,7 +363,7 @@ static int __maybe_unused ti_sn65dsi86_resume(struct device *dev)
        /* td2: min 100 us after regulators before enabling the GPIO */
        usleep_range(100, 110);
 
-       gpiod_set_value(pdata->enable_gpio, 1);
+       gpiod_set_value_cansleep(pdata->enable_gpio, 1);
 
        /*
         * If we have a reference clock we can enable communication w/ the
@@ -386,7 +386,7 @@ static int __maybe_unused ti_sn65dsi86_suspend(struct device *dev)
        if (pdata->refclk)
                ti_sn65dsi86_disable_comms(pdata);
 
-       gpiod_set_value(pdata->enable_gpio, 0);
+       gpiod_set_value_cansleep(pdata->enable_gpio, 0);
 
        ret = regulator_bulk_disable(SN_REGULATOR_SUPPLY_NUM, pdata->supplies);
        if (ret)