microblaze: Fix level/edge irq sensibility
authorMichal Simek <monstr@monstr.eu>
Wed, 30 Mar 2011 11:13:38 +0000 (13:13 +0200)
committerMichal Simek <monstr@monstr.eu>
Fri, 1 Apr 2011 07:25:04 +0000 (09:25 +0200)
Patches:
"microblaze: Convert to new irq function names"
sha (4adc192ec7d977c74c750320f289af9d61c1caca)
and
"microblaze: Use generic show_interrupts()"
sha(9d61c18b25726306c9231428c17db42e3ff29ba7)

should also setup edge/level in irq_set_chip_and_handler_name
name parameter.

Error log:
~ # cat /proc/interrupts
           CPU0
  2:          2  Xilinx INTC-Xilinx INTC  eth0
  3:          2  Xilinx INTC-Xilinx INTC  eth0
  4:        241  Xilinx INTC-Xilinx INTC  timer
  6:        108  Xilinx INTC-Xilinx INTC  serial

Fixed:
~ # cat /proc/interrupts
           CPU0
  2:          2  Xilinx INTC-level     eth0
  3:          2  Xilinx INTC-level     eth0
  4:        238  Xilinx INTC-edge      timer
  6:        108  Xilinx INTC-level     serial

Signed-off-by: Michal Simek <monstr@monstr.eu>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
---

v2: Fix exchanged edge and level

arch/microblaze/kernel/intc.c

index 5ba7e16..c88f066 100644 (file)
@@ -158,11 +158,11 @@ void __init init_IRQ(void)
        for (i = 0; i < nr_irq; ++i) {
                if (intr_type & (0x00000001 << i)) {
                        irq_set_chip_and_handler_name(i, &intc_dev,
-                               handle_edge_irq, intc_dev.name);
+                               handle_edge_irq, "edge");
                        irq_clear_status_flags(i, IRQ_LEVEL);
                } else {
                        irq_set_chip_and_handler_name(i, &intc_dev,
-                               handle_level_irq, intc_dev.name);
+                               handle_level_irq, "level");
                        irq_set_status_flags(i, IRQ_LEVEL);
                }
        }