avr32: At32ap: Convert intc irq_chip to new functions

Also replace the open coded handler call with the proper wrapper.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
LKML-Reference: <20110206163009.096308633@linutronix.de>
This commit is contained in:
Thomas Gleixner 2011-02-06 17:29:02 +01:00
parent 7776e233ef
commit 3972f6917d

View file

@ -34,12 +34,12 @@ extern struct platform_device at32_intc0_device;
* TODO: We may be able to implement mask/unmask by setting IxM flags * TODO: We may be able to implement mask/unmask by setting IxM flags
* in the status register. * in the status register.
*/ */
static void intc_mask_irq(unsigned int irq) static void intc_mask_irq(struct irq_data *d)
{ {
} }
static void intc_unmask_irq(unsigned int irq) static void intc_unmask_irq(struct irq_data *d)
{ {
} }
@ -47,8 +47,8 @@ static void intc_unmask_irq(unsigned int irq)
static struct intc intc0 = { static struct intc intc0 = {
.chip = { .chip = {
.name = "intc", .name = "intc",
.mask = intc_mask_irq, .irq_mask = intc_mask_irq,
.unmask = intc_unmask_irq, .irq_unmask = intc_unmask_irq,
}, },
}; };
@ -57,7 +57,6 @@ static struct intc intc0 = {
*/ */
asmlinkage void do_IRQ(int level, struct pt_regs *regs) asmlinkage void do_IRQ(int level, struct pt_regs *regs)
{ {
struct irq_desc *desc;
struct pt_regs *old_regs; struct pt_regs *old_regs;
unsigned int irq; unsigned int irq;
unsigned long status_reg; unsigned long status_reg;
@ -69,8 +68,7 @@ asmlinkage void do_IRQ(int level, struct pt_regs *regs)
irq_enter(); irq_enter();
irq = intc_readl(&intc0, INTCAUSE0 - 4 * level); irq = intc_readl(&intc0, INTCAUSE0 - 4 * level);
desc = irq_desc + irq; generic_handle_irq(irq);
desc->handle_irq(irq, desc);
/* /*
* Clear all interrupt level masks so that we may handle * Clear all interrupt level masks so that we may handle