[PATCH] gpio: pch_gpio: Fix output value of pch_gpio_direction_output()

From: Peter Tyser
Date: Fri Mar 25 2011 - 11:04:24 EST


The pch_gpio_direction_output() function was missing a write to set the
desired output value. The function would properly set the GPIO
direction, but not the output value. The value would have to manually
be set with a follow up call to pch_gpio_set().

Add the missing write so that pch_gpio_direction_output() sets both the
GPIO direction and value.

Signed-off-by: Peter Tyser <ptyser@xxxxxxxxxxx>
Cc: Tomoya MORINAGA <tomoya-linux@xxxxxxxxxxxxxxx>
Cc: Toshiharu Okada <toshiharu-linux@xxxxxxxxxxxxxxx>
Cc: Grant Likely <grant.likely@xxxxxxxxxxxx>
---
Just noticed this driver has the same bug. This file looks nearly identical
to ml_ioh_gpio.c. They could likely be combined with minimal effort.

drivers/gpio/pch_gpio.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/gpio/pch_gpio.c b/drivers/gpio/pch_gpio.c
index c59d953..fa52862 100644
--- a/drivers/gpio/pch_gpio.c
+++ b/drivers/gpio/pch_gpio.c
@@ -105,6 +105,7 @@ static int pch_gpio_direction_output(struct gpio_chip *gpio, unsigned nr,
reg_val |= (1 << nr);
else
reg_val &= ~(1 << nr);
+ iowrite32(reg_val, &chip->reg->po);

mutex_unlock(&chip->lock);

--
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/