The documentation was wrong, gpiod_get_direction() returns 0/1 instead
of the GPIOF_* flags. The docs were fixed with commit 94fc73094abe47
("gpio: correct docs about return value of gpiod_get_direction"). Now,
fix this user (until a better, system-wide solution is in place).

Signed-off-by: Wolfram Sang <>
Acked-by: Daniel Thompson <>

Changes since V1:
        * rebased to top-of-linus-tree
        * added tag from Daniel, thanks!

Through which tree does this need to go?

 drivers/video/backlight/pwm_bl.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
index 1c2289ddd555..0fa7d2bd0e48 100644
--- a/drivers/video/backlight/pwm_bl.c
+++ b/drivers/video/backlight/pwm_bl.c
@@ -301,14 +301,14 @@ static int pwm_backlight_probe(struct platform_device 
         * If the GPIO is not known to be already configured as output, that
-        * is, if gpiod_get_direction returns either GPIOF_DIR_IN or -EINVAL,
-        * change the direction to output and set the GPIO as active.
+        * is, if gpiod_get_direction returns either 1 or -EINVAL, change the
+        * direction to output and set the GPIO as active.
         * Do not force the GPIO to active when it was already output as it
         * could cause backlight flickering or we would enable the backlight too
         * early. Leave the decision of the initial backlight state for later.
        if (pb->enable_gpio &&
-           gpiod_get_direction(pb->enable_gpio) != GPIOF_DIR_OUT)
+           gpiod_get_direction(pb->enable_gpio) != 0)
                gpiod_direction_output(pb->enable_gpio, 1);
        pb->power_supply = devm_regulator_get(&pdev->dev, "power");

dri-devel mailing list

Reply via email to