diff options
author | Greg Ungerer <gerg@uclinux.org> | 2013-04-08 14:21:31 +1000 |
---|---|---|
committer | Greg Ungerer <gerg@uclinux.org> | 2013-04-09 15:15:31 +1000 |
commit | b2dfaa8d33cee9dd4ed78979f5d70063df546101 (patch) | |
tree | 17e1ef5d57a2b5b28350d9f7877a6f2130837fdb | |
parent | 31880c37c11e28cb81c70757e38392b42e695dc6 (diff) | |
download | linux-b2dfaa8d33cee9dd4ed78979f5d70063df546101.tar.gz linux-b2dfaa8d33cee9dd4ed78979f5d70063df546101.tar.bz2 linux-b2dfaa8d33cee9dd4ed78979f5d70063df546101.zip |
m68k: define a local gpio_request_one() function
Compiling for linux-3.9-rc1 and later fails with:
drivers/gpio/devres.c: In function 'devm_gpio_request_one':
drivers/gpio/devres.c:90:2: error: implicit declaration of function 'gpio_request_one' [-Werror=implicit-function-declaration]
So provide a local gpio_request_one() function. Code largely borrowed from
blackfin's local gpio_request_one() function.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | arch/m68k/include/asm/gpio.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/m68k/include/asm/gpio.h b/arch/m68k/include/asm/gpio.h index 4395ffc51fdb..8cc83431805b 100644 --- a/arch/m68k/include/asm/gpio.h +++ b/arch/m68k/include/asm/gpio.h @@ -86,4 +86,24 @@ static inline int gpio_cansleep(unsigned gpio) return gpio < MCFGPIO_PIN_MAX ? 0 : __gpio_cansleep(gpio); } +static inline int gpio_request_one(unsigned gpio, unsigned long flags, const char *label) +{ + int err; + + err = gpio_request(gpio, label); + if (err) + return err; + + if (flags & GPIOF_DIR_IN) + err = gpio_direction_input(gpio); + else + err = gpio_direction_output(gpio, + (flags & GPIOF_INIT_HIGH) ? 1 : 0); + + if (err) + gpio_free(gpio); + + return err; +} + #endif |