Browse Source

gpio/pch_gpio: Fix output value of pch_gpio_direction_output()

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@xes-inc.com>
Tested-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Peter Tyser 14 years ago
parent
commit
88aab9341a
1 changed files with 1 additions and 0 deletions
  1. 1 0
      drivers/gpio/pch_gpio.c

+ 1 - 0
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);
 		reg_val |= (1 << nr);
 	else
 	else
 		reg_val &= ~(1 << nr);
 		reg_val &= ~(1 << nr);
+	iowrite32(reg_val, &chip->reg->po);
 
 
 	mutex_unlock(&chip->lock);
 	mutex_unlock(&chip->lock);