The move to a dedicated pwm_backlight_initial_power_state function in
commit 7613c922315e308a6486d802abed2eb74443dffd modified the condition
to set the enable gpio as output. This breaks specific use cases using
that GPIO, such as tegra124-based nyan Chromebooks where backlight
stopped working.

This puts the condition back to the way it was before the move.

Signed-off-by: Paul Kocialkowski <cont...@paulk.fr>
---
 drivers/video/backlight/pwm_bl.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
index d7efcb632f7d..e81b2b55be2b 100644
--- a/drivers/video/backlight/pwm_bl.c
+++ b/drivers/video/backlight/pwm_bl.c
@@ -304,7 +304,8 @@ static int pwm_backlight_probe(struct platform_device *pdev)
         * early. Leave the decision of the initial backlight state for later.
         */
        if (pb->enable_gpio &&
-           gpiod_get_direction(pb->enable_gpio) == GPIOF_DIR_IN)
+          (gpiod_get_direction(pb->enable_gpio) == GPIOF_DIR_IN ||
+           gpiod_get_value(pb->enable_gpio) != 0))
                gpiod_direction_output(pb->enable_gpio, 1);
 
        pb->power_supply = devm_regulator_get(&pdev->dev, "power");
-- 
2.12.2

Reply via email to