backlight: pwm_bl: Handle gpio that can sleep
Some backlight GPIOs might be connected to some i2c based expanders whose access might sleep. Since it's not in any critical path, use the cansleep variant of the GPIO API. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
Родитель
358791033f
Коммит
0c9501f823
|
@ -55,7 +55,7 @@ static void pwm_backlight_power_on(struct pwm_bl_data *pb, int brightness)
|
||||||
dev_err(pb->dev, "failed to enable power supply\n");
|
dev_err(pb->dev, "failed to enable power supply\n");
|
||||||
|
|
||||||
if (pb->enable_gpio)
|
if (pb->enable_gpio)
|
||||||
gpiod_set_value(pb->enable_gpio, 1);
|
gpiod_set_value_cansleep(pb->enable_gpio, 1);
|
||||||
|
|
||||||
pwm_enable(pb->pwm);
|
pwm_enable(pb->pwm);
|
||||||
pb->enabled = true;
|
pb->enabled = true;
|
||||||
|
@ -70,7 +70,7 @@ static void pwm_backlight_power_off(struct pwm_bl_data *pb)
|
||||||
pwm_disable(pb->pwm);
|
pwm_disable(pb->pwm);
|
||||||
|
|
||||||
if (pb->enable_gpio)
|
if (pb->enable_gpio)
|
||||||
gpiod_set_value(pb->enable_gpio, 0);
|
gpiod_set_value_cansleep(pb->enable_gpio, 0);
|
||||||
|
|
||||||
regulator_disable(pb->power_supply);
|
regulator_disable(pb->power_supply);
|
||||||
pb->enabled = false;
|
pb->enabled = false;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче