Selaa lähdekoodia

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

This reverts commit 446f59acb70b70a425ea4105277a71eb615327cd.
Linus Walleij 9 vuotta sitten
vanhempi
commit
e1641c9d17
1 muutettua tiedostoa jossa 17 lisäystä ja 0 poistoa
  1. 17 0
      drivers/pinctrl/pinctrl-xway.c

+ 17 - 0
drivers/pinctrl/pinctrl-xway.c

@@ -1573,6 +1573,22 @@ static int xway_gpio_dir_out(struct gpio_chip *chip, unsigned int pin, int val)
 	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 = {
 	.label = "gpio-xway",
 	.direction_input = xway_gpio_dir_in,
@@ -1581,6 +1597,7 @@ static struct gpio_chip xway_chip = {
 	.set = xway_gpio_set,
 	.request = gpiochip_generic_request,
 	.free = gpiochip_generic_free,
+	.to_irq = xway_gpio_to_irq,
 	.base = -1,
 };