Re: [PATCH 1/2] gpio: aspeed: Set output latch before changing direction

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 17 May 2018 at 17:41, Benjamin Herrenschmidt
<benh@xxxxxxxxxxxxxxxxxxx> wrote:
> In aspeed_gpio_dir_out(), we need to establish the new output
> value in the output latch *before* we change the direction
> to output in order to avoid a glitch on the output line if
> the previous value of the latch was different.
>
> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
> Reviewed-by: Christopher Bostic <cbostic@xxxxxxxxxxxxxxxxxx>
> Reviewed-by: Andrew Jeffery <andrew@xxxxxxxx>

Thanks Ben, these look good. We've been running them on systems this past week:

Tested-by: Joel Stanley <joel@xxxxxxxxx>

Cheers,

Joel

> ---
>  drivers/gpio/gpio-aspeed.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/gpio/gpio-aspeed.c b/drivers/gpio/gpio-aspeed.c
> index 6f693b7d5220..bccf0399550e 100644
> --- a/drivers/gpio/gpio-aspeed.c
> +++ b/drivers/gpio/gpio-aspeed.c
> @@ -287,11 +287,10 @@ static int aspeed_gpio_dir_out(struct gpio_chip *gc,
>
>         spin_lock_irqsave(&gpio->lock, flags);
>
> +       __aspeed_gpio_set(gc, offset, val);
>         reg = ioread32(bank_val_reg(gpio, bank, GPIO_DIR));
>         iowrite32(reg | GPIO_BIT(offset), bank_val_reg(gpio, bank, GPIO_DIR));
>
> -       __aspeed_gpio_set(gc, offset, val);
> -
>         spin_unlock_irqrestore(&gpio->lock, flags);
>
>         return 0;
>
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux