Revert "Revert "pinctrl: lantiq: Implement gpio_chip.to_irq""

This reverts commit 446f59acb7.
This commit is contained in:
Linus Walleij 2016-04-01 15:21:27 +02:00
parent a9b0b1fe9e
commit e1641c9d17
1 changed files with 17 additions and 0 deletions

View File

@ -1573,6 +1573,22 @@ static int xway_gpio_dir_out(struct gpio_chip *chip, unsigned int pin, int val)
return 0; return 0;
} }
/*
* gpiolib gpiod_to_irq callback function.
* Returns the mapped IRQ (external interrupt) number for a given GPIO pin.
*/
static int xway_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
{
struct ltq_pinmux_info *info = dev_get_drvdata(chip->parent);
int i;
for (i = 0; i < info->num_exin; i++)
if (info->exin[i] == offset)
return ltq_eiu_get_irq(i);
return -1;
}
static struct gpio_chip xway_chip = { static struct gpio_chip xway_chip = {
.label = "gpio-xway", .label = "gpio-xway",
.direction_input = xway_gpio_dir_in, .direction_input = xway_gpio_dir_in,
@ -1581,6 +1597,7 @@ static struct gpio_chip xway_chip = {
.set = xway_gpio_set, .set = xway_gpio_set,
.request = gpiochip_generic_request, .request = gpiochip_generic_request,
.free = gpiochip_generic_free, .free = gpiochip_generic_free,
.to_irq = xway_gpio_to_irq,
.base = -1, .base = -1,
}; };