Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier...
[cascardo/linux.git] / arch / mips / powertv / asic / irq_asic.c
index e553824..7fb97fb 100644 (file)
 
 #include <asm/mach-powertv/asic_regs.h>
 
-static inline void unmask_asic_irq(unsigned int irq)
+static inline void unmask_asic_irq(struct irq_data *d)
 {
        unsigned long enable_bit;
+       unsigned int irq = d->irq;
 
        enable_bit = (1 << (irq & 0x1f));
 
@@ -45,9 +46,10 @@ static inline void unmask_asic_irq(unsigned int irq)
        }
 }
 
-static inline void mask_asic_irq(unsigned int irq)
+static inline void mask_asic_irq(struct irq_data *d)
 {
        unsigned long disable_mask;
+       unsigned int irq = d->irq;
 
        disable_mask = ~(1 << (irq & 0x1f));
 
@@ -71,11 +73,8 @@ static inline void mask_asic_irq(unsigned int irq)
 
 static struct irq_chip asic_irq_chip = {
        .name = "ASIC Level",
-       .ack = mask_asic_irq,
-       .mask = mask_asic_irq,
-       .mask_ack = mask_asic_irq,
-       .unmask = unmask_asic_irq,
-       .eoi = unmask_asic_irq,
+       .irq_mask = mask_asic_irq,
+       .irq_unmask = unmask_asic_irq,
 };
 
 void __init asic_irq_init(void)
@@ -113,5 +112,5 @@ void __init asic_irq_init(void)
         * Initialize interrupt handlers.
         */
        for (i = 0; i < NR_IRQS; i++)
-               set_irq_chip_and_handler(i, &asic_irq_chip, handle_level_irq);
+               irq_set_chip_and_handler(i, &asic_irq_chip, handle_level_irq);
 }