From b23005cec3b23a4ac8f7336a427febdddc6451e7 Mon Sep 17 00:00:00 2001 From: Stefan Roese Date: Thu, 7 Apr 2016 07:41:00 +0200 Subject: [PATCH] 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 --- drivers/gpio/mvebu_gpio.c | 4 ++++ 1 file changed, 4 insertions(+) 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; -- 2.39.5