mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 23:51:37 +00:00
pinctrl: at91-pio4: Get rid of legacy call
By just moving the atmel_gpio_to_irq() and calling the internal function we can get rid of the driver calling back out into the deprecated external consumer API. Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
0c3dfa1769
commit
e897b38665
@ -17,8 +17,6 @@
|
||||
#include <dt-bindings/pinctrl/at91.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/gpio/driver.h>
|
||||
/* FIXME: needed for gpio_to_irq(), get rid of this */
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/init.h>
|
||||
@ -264,6 +262,13 @@ static struct irq_chip atmel_gpio_irq_chip = {
|
||||
.irq_set_wake = atmel_gpio_irq_set_wake,
|
||||
};
|
||||
|
||||
static int atmel_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
|
||||
{
|
||||
struct atmel_pioctrl *atmel_pioctrl = gpiochip_get_data(chip);
|
||||
|
||||
return irq_find_mapping(atmel_pioctrl->irq_domain, offset);
|
||||
}
|
||||
|
||||
static void atmel_gpio_irq_handler(struct irq_desc *desc)
|
||||
{
|
||||
unsigned int irq = irq_desc_get_irq(desc);
|
||||
@ -297,8 +302,9 @@ static void atmel_gpio_irq_handler(struct irq_desc *desc)
|
||||
break;
|
||||
|
||||
for_each_set_bit(n, &isr, BITS_PER_LONG)
|
||||
generic_handle_irq(gpio_to_irq(bank *
|
||||
ATMEL_PIO_NPINS_PER_BANK + n));
|
||||
generic_handle_irq(atmel_gpio_to_irq(
|
||||
atmel_pioctrl->gpio_chip,
|
||||
bank * ATMEL_PIO_NPINS_PER_BANK + n));
|
||||
}
|
||||
|
||||
chained_irq_exit(chip, desc);
|
||||
@ -360,13 +366,6 @@ static void atmel_gpio_set(struct gpio_chip *chip, unsigned offset, int val)
|
||||
BIT(pin->line));
|
||||
}
|
||||
|
||||
static int atmel_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
|
||||
{
|
||||
struct atmel_pioctrl *atmel_pioctrl = gpiochip_get_data(chip);
|
||||
|
||||
return irq_find_mapping(atmel_pioctrl->irq_domain, offset);
|
||||
}
|
||||
|
||||
static struct gpio_chip atmel_gpio_chip = {
|
||||
.direction_input = atmel_gpio_direction_input,
|
||||
.get = atmel_gpio_get,
|
||||
|
Loading…
Reference in New Issue
Block a user