mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
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>
This commit is contained in:
committed by
Dom Cobley
parent
b3e2e8e673
commit
8889aa9c75
@@ -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 @@ poweroff:
|
||||
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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user