[Intel-gfx] [PATCH] pinctrl: baytrail: Fix pin being driven low for a while on gpiod_get(..., GPIOD_OUT_HIGH)
Andy Shevchenko
andriy.shevchenko at linux.intel.com
Tue Jun 2 15:25:55 UTC 2020
On Tue, Jun 02, 2020 at 06:23:17PM +0300, Andy Shevchenko wrote:
> On Tue, Jun 02, 2020 at 02:21:30PM +0200, Hans de Goede wrote:
...
> Wouldn't be simple below fix the issue?
>
> @@ -1171,14 +1171,10 @@ static int byt_gpio_direction_input(struct gpio_chip *chip, unsigned int offset)
> static int byt_gpio_direction_output(struct gpio_chip *chip,
> unsigned int offset, int value)
> {
> - int ret = pinctrl_gpio_direction_output(chip->base + offset);
> -
> - if (ret)
> - return ret;
> -
> + /* Set value first to avoid a glitch */
> byt_gpio_set(chip, offset, value);
>
> - return 0;
> + return pinctrl_gpio_direction_output(chip->base + offset);
> }
>
>
> P.S. It's mangled, sorry.
Cherrytrail does this way, btw, 549e783f6a1.
--
With Best Regards,
Andy Shevchenko
More information about the Intel-gfx
mailing list