Messages in this thread Patch in this message | | | From | Ben Gardner <> | Subject | [PATCH v2] cs5535-gpio: change input/output enable to match gpiolib expectations | Date | Sat, 27 Feb 2010 12:56:17 -0600 |
| |
The intent of the gpiolib set_direction_xxx functions is as follows: output: enable both input and output input: disable output, enable input
Change the cs5535 driver to do that.
Signed-off-by: Ben Gardner <gardner.ben@gmail.com> CC: Andres Salomon <dilinger@collabora.co.uk> CC: Andrew Morton <akpm@linux-foundation.org> CC: David Brownell <dbrownell@users.sourceforge.net> CC: Jani Nikula <ext-jani.1.nikula@nokia.com> --- drivers/gpio/cs5535-gpio.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/gpio/cs5535-gpio.c b/drivers/gpio/cs5535-gpio.c index 0fdbe94..de064c9 100644 --- a/drivers/gpio/cs5535-gpio.c +++ b/drivers/gpio/cs5535-gpio.c @@ -171,6 +171,7 @@ static int chip_direction_input(struct gpio_chip *c, unsigned offset) unsigned long flags; spin_lock_irqsave(&chip->lock, flags); + __cs5535_gpio_clear(chip, offset, GPIO_OUTPUT_ENABLE); __cs5535_gpio_set(chip, offset, GPIO_INPUT_ENABLE); spin_unlock_irqrestore(&chip->lock, flags); @@ -185,6 +186,7 @@ static int chip_direction_output(struct gpio_chip *c, unsigned offset, int val) spin_lock_irqsave(&chip->lock, flags); __cs5535_gpio_set(chip, offset, GPIO_OUTPUT_ENABLE); + __cs5535_gpio_set(chip, offset, GPIO_INPUT_ENABLE); if (val) __cs5535_gpio_set(chip, offset, GPIO_OUTPUT_VAL); else -- 1.7.0
| |