Commit 51a97d82 authored by Linus Walleij's avatar Linus Walleij

ARM: plat-iop: remove custom complex GPIO implementation

The kernel will now only use gpiolib to access GPIOs, so remove
the complex GPIO flag and the custom implementation.

Cc: Lennert Buytenhek <kernel@wantstofly.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Mikael Pettersson <mikpe@it.uu.se>
Tested-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent f6ffa5ee
...@@ -28,48 +28,5 @@ ...@@ -28,48 +28,5 @@
#include <mach/hardware.h> #include <mach/hardware.h>
#include <asm-generic/gpio.h> #include <asm-generic/gpio.h>
#define __ARM_GPIOLIB_COMPLEX
#define IOP3XX_N_GPIOS 8
static inline int gpio_get_value(unsigned gpio)
{
if (gpio > IOP3XX_N_GPIOS)
return __gpio_get_value(gpio);
return gpio_line_get(gpio);
}
static inline void gpio_set_value(unsigned gpio, int value)
{
if (gpio > IOP3XX_N_GPIOS) {
__gpio_set_value(gpio, value);
return;
}
gpio_line_set(gpio, value);
}
static inline int gpio_cansleep(unsigned gpio)
{
if (gpio < IOP3XX_N_GPIOS)
return 0;
else
return __gpio_cansleep(gpio);
}
/*
* The GPIOs are not generating any interrupt
* Note : manuals are not clear about this
*/
static inline int gpio_to_irq(int gpio)
{
return -EINVAL;
}
static inline int irq_to_gpio(int gpio)
{
return -EINVAL;
}
#endif #endif
...@@ -25,9 +25,6 @@ ...@@ -25,9 +25,6 @@
#define IOP3XX_GPIO_LINE(x) (x) #define IOP3XX_GPIO_LINE(x) (x)
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
extern void gpio_line_config(int line, int direction);
extern int gpio_line_get(int line);
extern void gpio_line_set(int line, int value);
extern int init_atu; extern int init_atu;
extern int iop3xx_get_init_atu(void); extern int iop3xx_get_init_atu(void);
#endif #endif
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
#define IOP3XX_N_GPIOS 8 #define IOP3XX_N_GPIOS 8
void gpio_line_config(int line, int direction) static void gpio_line_config(int line, int direction)
{ {
unsigned long flags; unsigned long flags;
...@@ -31,15 +31,13 @@ void gpio_line_config(int line, int direction) ...@@ -31,15 +31,13 @@ void gpio_line_config(int line, int direction)
} }
local_irq_restore(flags); local_irq_restore(flags);
} }
EXPORT_SYMBOL(gpio_line_config);
int gpio_line_get(int line) static int gpio_line_get(int line)
{ {
return !!(*IOP3XX_GPID & (1 << line)); return !!(*IOP3XX_GPID & (1 << line));
} }
EXPORT_SYMBOL(gpio_line_get);
void gpio_line_set(int line, int value) static void gpio_line_set(int line, int value)
{ {
unsigned long flags; unsigned long flags;
...@@ -51,7 +49,6 @@ void gpio_line_set(int line, int value) ...@@ -51,7 +49,6 @@ void gpio_line_set(int line, int value)
} }
local_irq_restore(flags); local_irq_restore(flags);
} }
EXPORT_SYMBOL(gpio_line_set);
static int iop3xx_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) static int iop3xx_gpio_direction_input(struct gpio_chip *chip, unsigned gpio)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment