Loading drivers/pinctrl/pinctrl-xway.c +17 −0 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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, }; Loading Loading
drivers/pinctrl/pinctrl-xway.c +17 −0 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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, }; Loading