diff options
| author | Vladimir Yakovlev <vovchkir@gmail.com> | 2025-12-08 19:16:13 +0300 |
|---|---|---|
| committer | Neil Armstrong <neil.armstrong@linaro.org> | 2026-01-13 09:53:48 +0100 |
| commit | 4a768c544f64eaa2fc7cfa91e46f43aa4aad0c40 (patch) | |
| tree | 68a4742f5edece4a3df1ff70730df4ed90a281a5 /drivers/gpu | |
| parent | 94ccf742309be5373314a865a7d6512b9665eae4 (diff) | |
drm/panel: himax-hx83102: change to gpiod_set_value_cansleep
It's better to use gpiod_set_value_cansleep because the panel can be
connected via i2c/spi expander or similar external devices
for reference see Documentation/driver-api/gpio/consumer.rst
Signed-off-by: Vladimir Yakovlev <vovchkir@gmail.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20251208161613.3763049-1-vovchkir@gmail.com
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/panel/panel-himax-hx83102.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/gpu/drm/panel/panel-himax-hx83102.c b/drivers/gpu/drm/panel/panel-himax-hx83102.c index 4c432d207634..1d3bb5dca559 100644 --- a/drivers/gpu/drm/panel/panel-himax-hx83102.c +++ b/drivers/gpu/drm/panel/panel-himax-hx83102.c @@ -859,7 +859,7 @@ static int hx83102_unprepare(struct drm_panel *panel) { struct hx83102 *ctx = panel_to_hx83102(panel); - gpiod_set_value(ctx->enable_gpio, 0); + gpiod_set_value_cansleep(ctx->enable_gpio, 0); usleep_range(1000, 2000); regulator_disable(ctx->avee); regulator_disable(ctx->avdd); @@ -875,7 +875,7 @@ static int hx83102_prepare(struct drm_panel *panel) struct mipi_dsi_device *dsi = ctx->dsi; struct mipi_dsi_multi_context dsi_ctx = { .dsi = dsi }; - gpiod_set_value(ctx->enable_gpio, 0); + gpiod_set_value_cansleep(ctx->enable_gpio, 0); usleep_range(1000, 1500); dsi_ctx.accum_err = regulator_enable(ctx->pp1800); @@ -899,11 +899,11 @@ static int hx83102_prepare(struct drm_panel *panel) usleep_range(1000, 2000); - gpiod_set_value(ctx->enable_gpio, 1); + gpiod_set_value_cansleep(ctx->enable_gpio, 1); usleep_range(1000, 2000); - gpiod_set_value(ctx->enable_gpio, 0); + gpiod_set_value_cansleep(ctx->enable_gpio, 0); usleep_range(1000, 2000); - gpiod_set_value(ctx->enable_gpio, 1); + gpiod_set_value_cansleep(ctx->enable_gpio, 1); usleep_range(6000, 10000); dsi_ctx.accum_err = ctx->desc->init(ctx); @@ -917,7 +917,7 @@ static int hx83102_prepare(struct drm_panel *panel) return 0; poweroff: - gpiod_set_value(ctx->enable_gpio, 0); + gpiod_set_value_cansleep(ctx->enable_gpio, 0); regulator_disable(ctx->avee); poweroffavdd: regulator_disable(ctx->avdd); |
