From: Stefan Roese Date: Thu, 7 Apr 2016 05:41:00 +0000 (+0200) Subject: gpio: mvebu_gpio: Add missing out value set to gpio_direction_output() X-Git-Tag: v2016.05-rc2~67^2~6 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=b23005cec3b23a4ac8f7336a427febdddc6451e7;p=u-boot gpio: mvebu_gpio: Add missing out value set to gpio_direction_output() This patch adds the missing configuration of the output value to the gpio_direction_output() function. Without this, calling gpio_direction_output() does not set the out-value at all and only configures the gpio as output. Signed-off-by: Stefan Roese Cc: Kevin Smith Reviewed-by: Kevin Smith --- diff --git a/drivers/gpio/mvebu_gpio.c b/drivers/gpio/mvebu_gpio.c index 9564ce2b13..75dc73e586 100644 --- a/drivers/gpio/mvebu_gpio.c +++ b/drivers/gpio/mvebu_gpio.c @@ -43,6 +43,10 @@ static int mvebu_gpio_direction_output(struct udevice *dev, unsigned gpio, struct mvebu_gpio_priv *priv = dev_get_priv(dev); struct mvebu_gpio_regs *regs = priv->regs; + if (value) + setbits_le32(®s->data_out, BIT(gpio)); + else + clrbits_le32(®s->data_out, BIT(gpio)); clrbits_le32(®s->io_conf, BIT(gpio)); return 0;