Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+0 −43
Original line number Diff line number Diff line
@@ -28,48 +28,5 @@
#include <mach/hardware.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
+0 −3
Original line number Diff line number Diff line
@@ -25,9 +25,6 @@
#define IOP3XX_GPIO_LINE(x)	(x)

#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 iop3xx_get_init_atu(void);
#endif
+3 −6
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@

#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;

@@ -31,15 +31,13 @@ void gpio_line_config(int line, int direction)
	}
	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));
}
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;

@@ -51,7 +49,6 @@ void gpio_line_set(int line, int value)
	}
	local_irq_restore(flags);
}
EXPORT_SYMBOL(gpio_line_set);

static int iop3xx_gpio_direction_input(struct gpio_chip *chip, unsigned gpio)
{