gpio: gpiolib: Support for open drain/collector gpios
commitaca5ce14eb773a75e5d935968b2e390dc5bd29c3
authorLaxman Dewangan <ldewangan@nvidia.com>
Fri, 17 Feb 2012 14:56:21 +0000 (17 20:26 +0530)
committerGrant Likely <grant.likely@secretlab.ca>
Mon, 5 Mar 2012 14:49:44 +0000 (5 07:49 -0700)
tree7da20e783f03b076d41163aad82dfb6878964ff9
parent3d2ddfdcf05f5f816f829f81858c54827d7be5b4
gpio: gpiolib: Support for open drain/collector gpios

Adding support for the open drain gpio on which client
can specify the open drain property through GPIO flag
GPIOF_OPEN_DRAIN at the time of gpio request.
The open drain pins are normally pulled high and it
cannot be driven to output with value of 1 and so
when client request for setting the pin to HIGH, the
gpio will be set to input direction to make pin in tristate
and hence PULL-UP on pins will make the state to HIGH.
The open drain pin can be driven to LOW by setting output
with value of 0.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviwed-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
drivers/gpio/gpiolib.c
include/linux/gpio.h