#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));
 
        }
 }
 
-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));
 
 
 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)