From b23005cec3b23a4ac8f7336a427febdddc6451e7 Mon Sep 17 00:00:00 2001
From: Stefan Roese <sr@denx.de>
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 <sr@denx.de>
Cc: Kevin Smith <kevin.smith@elecsyscorp.com>
Reviewed-by: Kevin Smith <kevin.smith@elecsyscorp.com>
---
 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(&regs->data_out, BIT(gpio));
+	else
+		clrbits_le32(&regs->data_out, BIT(gpio));
 	clrbits_le32(&regs->io_conf, BIT(gpio));
 
 	return 0;
-- 
2.39.5