gpio/ml_ioh_gpio: Fix output value of ioh_gpio_direction_output()
authorPeter Tyser <ptyser@xes-inc.com>
Thu, 24 Mar 2011 23:17:14 +0000 (18:17 -0500)
committerGrant Likely <grant.likely@secretlab.ca>
Thu, 31 Mar 2011 21:17:28 +0000 (15:17 -0600)
The ioh_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 ioh_gpio_set().

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

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Tested-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
drivers/gpio/ml_ioh_gpio.c

index 7f6f01a..0a775f7 100644 (file)
@@ -116,6 +116,7 @@ static int ioh_gpio_direction_output(struct gpio_chip *gpio, unsigned nr,
                reg_val |= (1 << nr);
        else
                reg_val &= ~(1 << nr);
+       iowrite32(reg_val, &chip->reg->regs[chip->ch].po);
 
        mutex_unlock(&chip->lock);