]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
[MIPS] Fix pb1200/irqmap.c and apply some missed patches
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Sat, 3 Feb 2007 15:57:25 +0000 (00:57 +0900)
committerRalf Baechle <ralf@linux-mips.org>
Tue, 6 Feb 2007 16:53:18 +0000 (16:53 +0000)
pb1200/irqmap.c had been broken a while due to non-named initializer
and had missed some recent IRQ related changes.  Apply these commits
to this file.

[MIPS] IRQ cleanups
commit 1603b5aca4f15b34848fb5594d0c7b6333b99144
[MIPS] use generic_handle_irq, handle_level_irq, handle_percpu_irq
commit 1417836e81c0ab8f5a0bfeafa90d3eaa41b2a067
[MIPS] Compile __do_IRQ() when really needed
commit e77c232cfc6e1250b2916a7c69225d6634d05a49

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/au1000/pb1200/irqmap.c

index 91983ba407c4731fd64c40358a1b56c29bdb07d3..b73b2d18bf56885d8f84278fa28330c3502040a7 100644 (file)
@@ -137,33 +137,20 @@ static void pb1200_shutdown_irq( unsigned int irq_nr )
        return;
 }
 
-static inline void pb1200_mask_and_ack_irq(unsigned int irq_nr)
-{
-       pb1200_disable_irq( irq_nr );
-}
-
-static void pb1200_end_irq(unsigned int irq_nr)
-{
-       if (!(irq_desc[irq_nr].status & (IRQ_DISABLED|IRQ_INPROGRESS))) {
-               pb1200_enable_irq(irq_nr);
-       }
-}
-
 static struct irq_chip external_irq_type =
 {
 #ifdef CONFIG_MIPS_PB1200
-       "Pb1200 Ext",
+       .name = "Pb1200 Ext",
 #endif
 #ifdef CONFIG_MIPS_DB1200
-       "Db1200 Ext",
+       .name = "Db1200 Ext",
 #endif
-       pb1200_startup_irq,
-       pb1200_shutdown_irq,
-       pb1200_enable_irq,
-       pb1200_disable_irq,
-       pb1200_mask_and_ack_irq,
-       pb1200_end_irq,
-       NULL
+       .startup  = pb1200_startup_irq,
+       .shutdown = pb1200_shutdown_irq,
+       .ack      = pb1200_disable_irq,
+       .mask     = pb1200_disable_irq,
+       .mask_ack = pb1200_disable_irq,
+       .unmask   = pb1200_enable_irq,
 };
 
 void _board_init_irq(void)
@@ -172,7 +159,8 @@ void _board_init_irq(void)
 
        for (irq_nr = PB1200_INT_BEGIN; irq_nr <= PB1200_INT_END; irq_nr++)
        {
-               irq_desc[irq_nr].chip = &external_irq_type;
+               set_irq_chip_and_handler(irq_nr, &external_irq_type,
+                                        handle_level_irq);
                pb1200_disable_irq(irq_nr);
        }