From: Vladimir Yakovlev Date: Mon, 8 Dec 2025 16:16:13 +0000 (+0300) Subject: drm/panel: himax-hx83102: change to gpiod_set_value_cansleep X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4a768c544f64eaa2fc7cfa91e46f43aa4aad0c40;p=thirdparty%2Fkernel%2Flinux.git 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 Reviewed-by: Neil Armstrong Signed-off-by: Neil Armstrong Link: https://patch.msgid.link/20251208161613.3763049-1-vovchkir@gmail.com --- 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);