diff options
| author | Greg Ungerer <gerg@uclinux.org> | 2013-04-08 00:21:31 -0400 |
|---|---|---|
| committer | Greg Ungerer <gerg@uclinux.org> | 2013-04-09 01:15:31 -0400 |
| commit | b2dfaa8d33cee9dd4ed78979f5d70063df546101 (patch) | |
| tree | 17e1ef5d57a2b5b28350d9f7877a6f2130837fdb | |
| parent | 31880c37c11e28cb81c70757e38392b42e695dc6 (diff) | |
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) | |||
| 86 | return gpio < MCFGPIO_PIN_MAX ? 0 : __gpio_cansleep(gpio); | 86 | return gpio < MCFGPIO_PIN_MAX ? 0 : __gpio_cansleep(gpio); |
| 87 | } | 87 | } |
| 88 | 88 | ||
| 89 | static inline int gpio_request_one(unsigned gpio, unsigned long flags, const char *label) | ||
| 90 | { | ||
| 91 | int err; | ||
| 92 | |||
| 93 | err = gpio_request(gpio, label); | ||
| 94 | if (err) | ||
| 95 | return err; | ||
| 96 | |||
| 97 | if (flags & GPIOF_DIR_IN) | ||
| 98 | err = gpio_direction_input(gpio); | ||
| 99 | else | ||
| 100 | err = gpio_direction_output(gpio, | ||
| 101 | (flags & GPIOF_INIT_HIGH) ? 1 : 0); | ||
| 102 | |||
| 103 | if (err) | ||
| 104 | gpio_free(gpio); | ||
| 105 | |||
| 106 | return err; | ||
| 107 | } | ||
| 108 | |||
| 89 | #endif | 109 | #endif |
