[PATCH] backlight: pwm_bl: Fix condition to set enable gpio as output

From: Paul Kocialkowski
Date: Sun Apr 16 2017 - 06:45:47 EST


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 <contact@xxxxxxxx>
---
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