[PATCH v2 2/3] drivers: gpio: keep output value for input on sandbox

Philippe REYNES philippe.reynes at softathome.com
Mon Sep 14 18:01:30 CEST 2020


> For testing purposes keep the output value when switching to input.
> This allows us to manipulate the input value via the gpio command.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>

Reviewed-by: Philippe Reynes <philippe.reynes at softathome.com>

> ---
> v2:
> new patch
> ---
> drivers/gpio/sandbox.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpio/sandbox.c b/drivers/gpio/sandbox.c
> index c2f80472b8..eb2600de31 100644
> --- a/drivers/gpio/sandbox.c
> +++ b/drivers/gpio/sandbox.c
> @@ -185,7 +185,15 @@ static int sb_gpio_set_dir_flags(struct udevice *dev,
> unsigned int offset,
> 
> dir_flags = get_gpio_dir_flags(dev, offset);
> 
> - *dir_flags = flags;
> + /*
> + * For testing purposes keep the output value when switching to input.
> + * This allows us to manipulate the input value via the gpio command.
> + */
> + if (flags & GPIOD_IS_IN)
> + *dir_flags = (flags & ~GPIOD_IS_OUT_ACTIVE) |
> + (*dir_flags & GPIOD_IS_OUT_ACTIVE);
> + else
> + *dir_flags = flags;
> 
> return 0;
> }
> --
> 2.28.0


More information about the U-Boot mailing list