[PATCH] GPIOLIB: add generic gpio_set_pull API

Barry Song 21cnbao at gmail.com
Mon Jun 18 23:25:43 EDT 2012

Hi Linus,
it seems people still use self-defined structure and APIs to set GPIO
pull, for example:


 48 /* Pull up/down values */
 49 enum nmk_gpio_pull {
 50         NMK_GPIO_PULL_NONE,
 51         NMK_GPIO_PULL_UP,
 52         NMK_GPIO_PULL_DOWN,
 53 };

int nmk_gpio_set_pull(int gpio, enum nmk_gpio_pull pull)

or actually you mean use "pin_config_get" and "pin_config_set" with
self-defined configuration to set pull?

but i think at least the macros of GPIO_PULL_NONE, GPIO_PULL_UP and
GPIO_PULL_DOWN should be standardized.

2011/8/9 Linus Walleij <linus.walleij at linaro.org>
> On Tue, Aug 9, 2011 at 3:45 AM, Rohit Vaswani <rvaswani at codeaurora.org>
> wrote:
> > If we add this API - the remaining gpio controls like drive strength and
> > function select could also be added,
> I agree.
> > which eats into the pinmux domain.
> That's not so bad, since the pinctrl/pinmux subsystem is just a prototype
> people may want to wrap up their drivers into gpio_chip/gpiolib as
> they stand today to atleast get some isolation. Later on they can
> refactor and migrate to a pinctrl/pinmux subsystem.
> The latter will take some time to provide anyway, since I have been
> asked to restructure it so as not to use a global pin number space.
> > Linus W. had a patch earlier which added an API for a gpio config to be
> > specified through gpiolib. " gpio: add a custom configuration mechanism
> > to
> > gpiolib" which is sort of an extensible model of this API.
> Yes I think I have already suggested a bunch of ways to skin this
> cat but somehow none of them seem to win general approval.
> Yours,
> Linus Walleij


More information about the linux-arm-kernel mailing list