1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-02-15 04:42:02 +00:00
openmptcprouter/6.6/target/linux/bcm27xx/patches-6.6/0287-drm-panel-jdi-lt070me05000-Use-gpiod_set_value_cansl.patch
Ycarus (Yannick Chabanois) 12de1d2995 Add RPI kernel 6.6 support
2024-04-05 20:55:33 +02:00

72 lines
2.3 KiB
Diff

From 8889aa9c75ffecfff3f81a9cfec1eac5d27c89f2 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Thu, 15 Apr 2021 17:30:35 +0100
Subject: [PATCH 0287/1002] drm/panel: jdi-lt070me05000: Use
gpiod_set_value_cansleep
There is no reason why the control GPIOs for the panel can not
be connected to I2C or similar GPIO interfaces that may need to
sleep, therefore switch from gpiod_set_value to
gpiod_set_value_cansleep calls to configure them.
Without that you get complaints from gpiolib every time the state
is changed.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
drivers/gpu/drm/panel/panel-jdi-lt070me05000.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c b/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c
index 213008499caa..f0041bce1160 100644
--- a/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c
+++ b/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c
@@ -205,11 +205,11 @@ static int jdi_panel_unprepare(struct drm_panel *panel)
if (ret < 0)
dev_err(dev, "regulator disable failed, %d\n", ret);
- gpiod_set_value(jdi->enable_gpio, 0);
+ gpiod_set_value_cansleep(jdi->enable_gpio, 0);
- gpiod_set_value(jdi->reset_gpio, 1);
+ gpiod_set_value_cansleep(jdi->reset_gpio, 1);
- gpiod_set_value(jdi->dcdc_en_gpio, 0);
+ gpiod_set_value_cansleep(jdi->dcdc_en_gpio, 0);
jdi->prepared = false;
@@ -233,13 +233,13 @@ static int jdi_panel_prepare(struct drm_panel *panel)
msleep(20);
- gpiod_set_value(jdi->dcdc_en_gpio, 1);
+ gpiod_set_value_cansleep(jdi->dcdc_en_gpio, 1);
usleep_range(10, 20);
- gpiod_set_value(jdi->reset_gpio, 0);
+ gpiod_set_value_cansleep(jdi->reset_gpio, 0);
usleep_range(10, 20);
- gpiod_set_value(jdi->enable_gpio, 1);
+ gpiod_set_value_cansleep(jdi->enable_gpio, 1);
usleep_range(10, 20);
ret = jdi_panel_init(jdi);
@@ -263,11 +263,11 @@ static int jdi_panel_prepare(struct drm_panel *panel)
if (ret < 0)
dev_err(dev, "regulator disable failed, %d\n", ret);
- gpiod_set_value(jdi->enable_gpio, 0);
+ gpiod_set_value_cansleep(jdi->enable_gpio, 0);
- gpiod_set_value(jdi->reset_gpio, 1);
+ gpiod_set_value_cansleep(jdi->reset_gpio, 1);
- gpiod_set_value(jdi->dcdc_en_gpio, 0);
+ gpiod_set_value_cansleep(jdi->dcdc_en_gpio, 0);
return ret;
}
--
2.44.0