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
* 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 = {
.chip = {
.name = "intc",
.mask = intc_mask_irq,
.unmask = intc_unmask_irq,
.irq_mask = intc_mask_irq,
.irq_unmask = intc_unmask_irq,
},
};
@ -57,7 +57,6 @@ static struct intc intc0 = {
*/
asmlinkage void do_IRQ(int level, struct pt_regs *regs)
{
struct irq_desc *desc;
struct pt_regs *old_regs;
unsigned int irq;
unsigned long status_reg;
@ -69,8 +68,7 @@ asmlinkage void do_IRQ(int level, struct pt_regs *regs)
irq_enter();
irq = intc_readl(&intc0, INTCAUSE0 - 4 * level);
desc = irq_desc + irq;
desc->handle_irq(irq, desc);
generic_handle_irq(irq);
/*
* Clear all interrupt level masks so that we may handle