Commit b2221869 authored by Lennert Buytenhek's avatar Lennert Buytenhek Committed by Linus Torvalds

gpio: pl061: irq_data conversion

Converts irq_chips and flow handlers over to the new struct irq_data based
irq_chip functions.
Signed-off-by: default avatarLennert Buytenhek <buytenh@secretlab.ca>
Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 6f5cfc0e
...@@ -129,10 +129,10 @@ static int pl061_to_irq(struct gpio_chip *gc, unsigned offset) ...@@ -129,10 +129,10 @@ static int pl061_to_irq(struct gpio_chip *gc, unsigned offset)
/* /*
* PL061 GPIO IRQ * PL061 GPIO IRQ
*/ */
static void pl061_irq_disable(unsigned irq) static void pl061_irq_disable(struct irq_data *d)
{ {
struct pl061_gpio *chip = get_irq_chip_data(irq); struct pl061_gpio *chip = irq_data_get_irq_chip_data(d);
int offset = irq - chip->irq_base; int offset = d->irq - chip->irq_base;
unsigned long flags; unsigned long flags;
u8 gpioie; u8 gpioie;
...@@ -143,10 +143,10 @@ static void pl061_irq_disable(unsigned irq) ...@@ -143,10 +143,10 @@ static void pl061_irq_disable(unsigned irq)
spin_unlock_irqrestore(&chip->irq_lock, flags); spin_unlock_irqrestore(&chip->irq_lock, flags);
} }
static void pl061_irq_enable(unsigned irq) static void pl061_irq_enable(struct irq_data *d)
{ {
struct pl061_gpio *chip = get_irq_chip_data(irq); struct pl061_gpio *chip = irq_data_get_irq_chip_data(d);
int offset = irq - chip->irq_base; int offset = d->irq - chip->irq_base;
unsigned long flags; unsigned long flags;
u8 gpioie; u8 gpioie;
...@@ -157,10 +157,10 @@ static void pl061_irq_enable(unsigned irq) ...@@ -157,10 +157,10 @@ static void pl061_irq_enable(unsigned irq)
spin_unlock_irqrestore(&chip->irq_lock, flags); spin_unlock_irqrestore(&chip->irq_lock, flags);
} }
static int pl061_irq_type(unsigned irq, unsigned trigger) static int pl061_irq_type(struct irq_data *d, unsigned trigger)
{ {
struct pl061_gpio *chip = get_irq_chip_data(irq); struct pl061_gpio *chip = irq_data_get_irq_chip_data(d);
int offset = irq - chip->irq_base; int offset = d->irq - chip->irq_base;
unsigned long flags; unsigned long flags;
u8 gpiois, gpioibe, gpioiev; u8 gpiois, gpioibe, gpioiev;
...@@ -203,9 +203,9 @@ static int pl061_irq_type(unsigned irq, unsigned trigger) ...@@ -203,9 +203,9 @@ static int pl061_irq_type(unsigned irq, unsigned trigger)
static struct irq_chip pl061_irqchip = { static struct irq_chip pl061_irqchip = {
.name = "GPIO", .name = "GPIO",
.enable = pl061_irq_enable, .irq_enable = pl061_irq_enable,
.disable = pl061_irq_disable, .irq_disable = pl061_irq_disable,
.set_type = pl061_irq_type, .irq_set_type = pl061_irq_type,
}; };
static void pl061_irq_handler(unsigned irq, struct irq_desc *desc) static void pl061_irq_handler(unsigned irq, struct irq_desc *desc)
...@@ -214,7 +214,7 @@ static void pl061_irq_handler(unsigned irq, struct irq_desc *desc) ...@@ -214,7 +214,7 @@ static void pl061_irq_handler(unsigned irq, struct irq_desc *desc)
struct list_head *ptr; struct list_head *ptr;
struct pl061_gpio *chip; struct pl061_gpio *chip;
desc->chip->ack(irq); desc->irq_data.chip->irq_ack(&desc->irq_data);
list_for_each(ptr, chip_list) { list_for_each(ptr, chip_list) {
unsigned long pending; unsigned long pending;
int offset; int offset;
...@@ -229,7 +229,7 @@ static void pl061_irq_handler(unsigned irq, struct irq_desc *desc) ...@@ -229,7 +229,7 @@ static void pl061_irq_handler(unsigned irq, struct irq_desc *desc)
for_each_set_bit(offset, &pending, PL061_GPIO_NR) for_each_set_bit(offset, &pending, PL061_GPIO_NR)
generic_handle_irq(pl061_to_irq(&chip->gc, offset)); generic_handle_irq(pl061_to_irq(&chip->gc, offset));
} }
desc->chip->unmask(irq); desc->irq_data.chip->irq_unmask(&desc->irq_data);
} }
static int pl061_probe(struct amba_device *dev, struct amba_id *id) static int pl061_probe(struct amba_device *dev, struct amba_id *id)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment