1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-02-15 04:42:02 +00:00
openmptcprouter/root/target/linux/bcm27xx/patches-5.15/950-0388-drm-panel-jdi-lt070me05000-Use-gpiod_set_value_cansl.patch

68 lines
2.1 KiB
Diff
Raw Normal View History

2022-04-22 15:00:47 +00:00
From 598038f576cb619dfc4164e513b14b78aed79635 Mon Sep 17 00:00:00 2001
2021-11-24 17:32:01 +00:00
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Thu, 15 Apr 2021 17:30:35 +0100
2022-04-22 15:00:47 +00:00
Subject: [PATCH 388/828] drm/panel: jdi-lt070me05000: Use
2021-11-24 17:32:01 +00:00
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(-)
--- a/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c
+++ b/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c
2022-04-22 15:00:47 +00:00
@@ -205,11 +205,11 @@ static int jdi_panel_unprepare(struct dr
2021-11-24 17:32:01 +00:00
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;
2022-04-22 15:00:47 +00:00
@@ -233,13 +233,13 @@ static int jdi_panel_prepare(struct drm_
2021-11-24 17:32:01 +00:00
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);
2022-04-22 15:00:47 +00:00
@@ -263,11 +263,11 @@ poweroff:
2021-11-24 17:32:01 +00:00
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;
}