[PATCH] genirq: remove IRQ_DISABLED
authorIngo Molnar <mingo@elte.hu>
Fri, 16 Feb 2007 09:28:24 +0000 (01:28 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 16 Feb 2007 16:14:00 +0000 (08:14 -0800)
Now that disable_irq() defaults to delayed-disable semantics, the IRQ_DISABLED
flag is not needed anymore.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/arm/kernel/irq.c
arch/i386/kernel/io_apic.c
arch/powerpc/platforms/powermac/pic.c
arch/x86_64/kernel/io_apic.c
include/linux/irq.h

index ec01f08f5642bef24e4e84ab6339042afabdb60d..e101846ab7dd960f485f4fd8a97d23dd8b81b960 100644 (file)
@@ -159,8 +159,7 @@ void __init init_IRQ(void)
        int irq;
 
        for (irq = 0; irq < NR_IRQS; irq++)
-               irq_desc[irq].status |= IRQ_NOREQUEST | IRQ_DELAYED_DISABLE |
-                       IRQ_NOPROBE;
+               irq_desc[irq].status |= IRQ_NOREQUEST | IRQ_NOPROBE;
 
 #ifdef CONFIG_SMP
        bad_irq_desc.affinity = CPU_MASK_ALL;
index f003a4ce0a93b1ae8c43e7c6d2503fb4541c41d3..4ccebd454e256786d0e8e32fc9e540bf97ab5b72 100644 (file)
@@ -1281,11 +1281,9 @@ static void ioapic_register_intr(int irq, int vector, unsigned long trigger)
                        trigger == IOAPIC_LEVEL)
                set_irq_chip_and_handler_name(irq, &ioapic_chip,
                                         handle_fasteoi_irq, "fasteoi");
-       else {
-               irq_desc[irq].status |= IRQ_DELAYED_DISABLE;
+       else
                set_irq_chip_and_handler_name(irq, &ioapic_chip,
                                         handle_edge_irq, "edge");
-       }
        set_intr_gate(vector, interrupt[irq]);
 }
 
index 39db12890214e5e905cb69b01bc0c9a6c4bf1ad0..5e5c0e4add91dc09cf465d0e3bd9eb0f4dfdabb8 100644 (file)
@@ -305,8 +305,6 @@ static int pmac_pic_host_map(struct irq_host *h, unsigned int virq,
        level = !!(level_mask[hw >> 5] & (1UL << (hw & 0x1f)));
        if (level)
                desc->status |= IRQ_LEVEL;
-       else
-               desc->status |= IRQ_DELAYED_DISABLE;
        set_irq_chip_and_handler(virq, &pmac_pic, level ?
                                 handle_level_irq : handle_edge_irq);
        return 0;
index 566e64d966c4397a98e29fd958fd454606e6d381..950682f3576697b3fa7bcc8b916be3b8a3547c8d 100644 (file)
@@ -810,11 +810,9 @@ static void ioapic_register_intr(int irq, int vector, unsigned long trigger)
                        trigger == IOAPIC_LEVEL)
                set_irq_chip_and_handler_name(irq, &ioapic_chip,
                                              handle_fasteoi_irq, "fasteoi");
-       else {
-               irq_desc[irq].status |= IRQ_DELAYED_DISABLE;
+       else
                set_irq_chip_and_handler_name(irq, &ioapic_chip,
                                              handle_edge_irq, "edge");
-       }
 }
 static void __init setup_IO_APIC_irq(int apic, int pin, int idx, int irq)
 {
index 29f715e71bdde04ecc97b2f7b4c0a4a6000b2eeb..f486c4dee1bf0bcdb4de1ad76d7cfb351f047d23 100644 (file)
@@ -57,10 +57,9 @@ typedef      void fastcall (*irq_flow_handler_t)(unsigned int irq,
 #define IRQ_NOPROBE            0x00020000      /* IRQ is not valid for probing */
 #define IRQ_NOREQUEST          0x00040000      /* IRQ cannot be requested */
 #define IRQ_NOAUTOEN           0x00080000      /* IRQ will not be enabled on request irq */
-#define IRQ_DELAYED_DISABLE    0x00100000      /* IRQ disable (masking) happens delayed. */
-#define IRQ_WAKEUP             0x00200000      /* IRQ triggers system wakeup */
-#define IRQ_MOVE_PENDING       0x00400000      /* need to re-target IRQ destination */
-#define IRQ_NO_BALANCING       0x00800000      /* IRQ is excluded from balancing */
+#define IRQ_WAKEUP             0x00100000      /* IRQ triggers system wakeup */
+#define IRQ_MOVE_PENDING       0x00200000      /* need to re-target IRQ destination */
+#define IRQ_NO_BALANCING       0x00400000      /* IRQ is excluded from balancing */
 
 #ifdef CONFIG_IRQ_PER_CPU
 # define CHECK_IRQ_PER_CPU(var) ((var) & IRQ_PER_CPU)