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

Commit 7c6425a0 authored by Ryan Mallon's avatar Ryan Mallon Committed by Russell King
Browse files

[ARM] 5566/1: Remove at91_gpiolib_request



Remove at91_gpiolib_request. It returns -EPERM if a request pin is not
in GPIO mode, however we want to be able to gpio_request alternative
function pins to reserve them, and in some cases we need to be able to
use the gpiolib functions on alternative function pins.

Signed-off-by: default avatarRyan Mallon <ryan@bluewatersys.com>
Acked-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 226ddb98
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -44,13 +44,11 @@ static int at91_gpiolib_direction_output(struct gpio_chip *chip,
					 unsigned offset, int val);
static int at91_gpiolib_direction_input(struct gpio_chip *chip,
					unsigned offset);
static int at91_gpiolib_request(struct gpio_chip *chip, unsigned offset);

#define AT91_GPIO_CHIP(name, base_gpio, nr_gpio)			\
	{								\
		.chip = {						\
			.label		  = name,			\
			.request	  = at91_gpiolib_request,	\
			.direction_input  = at91_gpiolib_direction_input, \
			.direction_output = at91_gpiolib_direction_output, \
			.get		  = at91_gpiolib_get,		\
@@ -588,19 +586,6 @@ static void at91_gpiolib_set(struct gpio_chip *chip, unsigned offset, int val)
	__raw_writel(mask, pio + (val ? PIO_SODR : PIO_CODR));
}

static int at91_gpiolib_request(struct gpio_chip *chip, unsigned offset)
{
	unsigned pin = chip->base + offset;
	void __iomem *pio = pin_to_controller(pin);
	unsigned mask = pin_to_mask(pin);

	/* Cannot request GPIOs that are in alternate function mode */
	if (!(__raw_readl(pio + PIO_PSR) & mask))
		return -EPERM;

	return 0;
}

static void at91_gpiolib_dbg_show(struct seq_file *s, struct gpio_chip *chip)
{
	int i;