# \[PATCH 0/3\] tree-wide: don't use GPIOF\_\* with gpiod\_get\_direction

- Subsystems: FRAMEBUFFER LAYER, BACKLIGHT CLASS/SUBSYSTEM, EXTERNAL CONNECTOR SUBSYSTEM (EXTCON), THE REST, TTY LAYER AND SERIAL DRIVERS
- Maintainers: Helge Deller, Lee Jones, Daniel Thompson, Jingoo Han, MyungJoo Ham, Chanwoo Choi, Linus Torvalds, Greg Kroah-Hartman, Jiri Slaby
- Series: 3 patches touching 3 files, +6/-7
- List: linux-fbdev
- 4 messages, 3 authors
- Page: https://ratatoskr.run/linux-fbdev/2018/01/5179996/t

## \[PATCH 0/3\] tree-wide: don't use GPIOF\_\* with gpiod\_get\_direction

- From: Wolfram Sang \<wsa+renesas@sang-engineering.com\>
- Date: 2018-01-14 21:07:46 
- Message: https://ratatoskr.run/linux-fbdev/2018/01/5179996.md

```text
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 the users who got it
as wrong as I did when developing bus recovery for the R-Car I2C driver.

We get rid of two users of 'linux/gpio.h' this way :)

Only build tested due to no hardware.


Wolfram Sang (3):
  extcon: int3496: don't use GPIOF_* with gpiod_get_direction
  serial: mxs-auart: don't use GPIOF_* with gpiod_get_direction
  backlight: pwm_bl: don't use GPIOF_* with gpiod_get_direction

 drivers/extcon/extcon-intel-int3496.c | 4 ++--
 drivers/tty/serial/mxs-auart.c        | 3 +--
 drivers/video/backlight/pwm_bl.c      | 6 +++---
 3 files changed, 6 insertions(+), 7 deletions(-)

-- 
2.11.0

```

## \[PATCH 3/3\] backlight: pwm\_bl: don't use GPIOF\_\* with gpiod\_get\_direction

- From: Wolfram Sang \<wsa+renesas@sang-engineering.com\>
- Date: 2018-01-14 21:08:27 
- Message: https://ratatoskr.run/linux-fbdev/2018/01/5179999.md

```text
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 <wsa+renesas@sang-engineering.com>
---
Only build tested!

 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 1c2289ddd555a6..0fa7d2bd0e4811 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 *pdev)
 
 	/*
 	 * 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");
-- 
2.11.0

```

## Re: \[PATCH 3/3\] backlight: pwm\_bl: don't use GPIOF\_\* with gpiod\_get\_direction

- From: Daniel Thompson \<hidden\>
- Date: 2018-01-15 10:13:30 
- Message: https://ratatoskr.run/linux-fbdev/2018/01/5180280.md

```text


On 14/01/18 21:07, Wolfram Sang wrote:
> 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 <wsa+renesas@sang-engineering.com>

Acked-by: Daniel Thompson <redacted>


> ---
> Only build tested!
> 
>   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 1c2289ddd555a6..0fa7d2bd0e4811 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 *pdev)
>   
>   	/*
>   	 * 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");
> 
```

## Re: \[PATCH 3/3\] backlight: pwm\_bl: don't use GPIOF\_\* with gpiod\_get\_direction

- From: Lee Jones \<hidden\>
- Date: 2018-04-16 09:11:15 
- Message: https://ratatoskr.run/linux-fbdev/2018/04/5262648.md

```text
On Sun, 14 Jan 2018, Wolfram Sang wrote:

> 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 <wsa+renesas@sang-engineering.com>
> ---
> Only build tested!
> 
>  drivers/video/backlight/pwm_bl.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

Applied with Daniel and Simon's Acks.

-- 
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
```
