Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
[pandora-kernel.git] / arch / mips / loongson / common / bonito-irq.c
index 2dc2a4c..f27d7cc 100644 (file)
 
 #include <loongson.h>
 
-static inline void bonito_irq_enable(unsigned int irq)
+static inline void bonito_irq_enable(struct irq_data *d)
 {
-       LOONGSON_INTENSET = (1 << (irq - LOONGSON_IRQ_BASE));
+       LOONGSON_INTENSET = (1 << (d->irq - LOONGSON_IRQ_BASE));
        mmiowb();
 }
 
-static inline void bonito_irq_disable(unsigned int irq)
+static inline void bonito_irq_disable(struct irq_data *d)
 {
-       LOONGSON_INTENCLR = (1 << (irq - LOONGSON_IRQ_BASE));
+       LOONGSON_INTENCLR = (1 << (d->irq - LOONGSON_IRQ_BASE));
        mmiowb();
 }
 
 static struct irq_chip bonito_irq_type = {
-       .name   = "bonito_irq",
-       .ack    = bonito_irq_disable,
-       .mask   = bonito_irq_disable,
-       .mask_ack = bonito_irq_disable,
-       .unmask = bonito_irq_enable,
+       .name           = "bonito_irq",
+       .irq_mask       = bonito_irq_disable,
+       .irq_unmask     = bonito_irq_enable,
 };
 
 static struct irqaction __maybe_unused dma_timeout_irqaction = {
@@ -46,7 +44,8 @@ void bonito_irq_init(void)
        u32 i;
 
        for (i = LOONGSON_IRQ_BASE; i < LOONGSON_IRQ_BASE + 32; i++)
-               set_irq_chip_and_handler(i, &bonito_irq_type, handle_level_irq);
+               irq_set_chip_and_handler(i, &bonito_irq_type,
+                                        handle_level_irq);
 
 #ifdef CONFIG_CPU_LOONGSON2E
        setup_irq(LOONGSON_IRQ_BASE + 10, &dma_timeout_irqaction);