[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