diff options
author | Ingo Molnar <mingo@elte.hu> | 2007-02-16 04:28:24 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-16 11:14:00 -0500 |
commit | d7e25f3394ba05a6d64cb2be42c2765fe72ea6b2 (patch) | |
tree | 9c8ad767b40577d6a2c5bd949adb7e1b64939215 | |
parent | 76d2160147f43f982dfe881404cfde9fd0a9da21 (diff) |
[PATCH] genirq: remove IRQ_DISABLED
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>
-rw-r--r-- | arch/arm/kernel/irq.c | 3 | ||||
-rw-r--r-- | arch/i386/kernel/io_apic.c | 4 | ||||
-rw-r--r-- | arch/powerpc/platforms/powermac/pic.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/io_apic.c | 4 | ||||
-rw-r--r-- | include/linux/irq.h | 7 |
5 files changed, 6 insertions, 14 deletions
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index ec01f08f5642..e101846ab7dd 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c | |||
@@ -159,8 +159,7 @@ void __init init_IRQ(void) | |||
159 | int irq; | 159 | int irq; |
160 | 160 | ||
161 | for (irq = 0; irq < NR_IRQS; irq++) | 161 | for (irq = 0; irq < NR_IRQS; irq++) |
162 | irq_desc[irq].status |= IRQ_NOREQUEST | IRQ_DELAYED_DISABLE | | 162 | irq_desc[irq].status |= IRQ_NOREQUEST | IRQ_NOPROBE; |
163 | IRQ_NOPROBE; | ||
164 | 163 | ||
165 | #ifdef CONFIG_SMP | 164 | #ifdef CONFIG_SMP |
166 | bad_irq_desc.affinity = CPU_MASK_ALL; | 165 | bad_irq_desc.affinity = CPU_MASK_ALL; |
diff --git a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c index f003a4ce0a93..4ccebd454e25 100644 --- a/arch/i386/kernel/io_apic.c +++ b/arch/i386/kernel/io_apic.c | |||
@@ -1281,11 +1281,9 @@ static void ioapic_register_intr(int irq, int vector, unsigned long trigger) | |||
1281 | trigger == IOAPIC_LEVEL) | 1281 | trigger == IOAPIC_LEVEL) |
1282 | set_irq_chip_and_handler_name(irq, &ioapic_chip, | 1282 | set_irq_chip_and_handler_name(irq, &ioapic_chip, |
1283 | handle_fasteoi_irq, "fasteoi"); | 1283 | handle_fasteoi_irq, "fasteoi"); |
1284 | else { | 1284 | else |
1285 | irq_desc[irq].status |= IRQ_DELAYED_DISABLE; | ||
1286 | set_irq_chip_and_handler_name(irq, &ioapic_chip, | 1285 | set_irq_chip_and_handler_name(irq, &ioapic_chip, |
1287 | handle_edge_irq, "edge"); | 1286 | handle_edge_irq, "edge"); |
1288 | } | ||
1289 | set_intr_gate(vector, interrupt[irq]); | 1287 | set_intr_gate(vector, interrupt[irq]); |
1290 | } | 1288 | } |
1291 | 1289 | ||
diff --git a/arch/powerpc/platforms/powermac/pic.c b/arch/powerpc/platforms/powermac/pic.c index 39db12890214..5e5c0e4add91 100644 --- a/arch/powerpc/platforms/powermac/pic.c +++ b/arch/powerpc/platforms/powermac/pic.c | |||
@@ -305,8 +305,6 @@ static int pmac_pic_host_map(struct irq_host *h, unsigned int virq, | |||
305 | level = !!(level_mask[hw >> 5] & (1UL << (hw & 0x1f))); | 305 | level = !!(level_mask[hw >> 5] & (1UL << (hw & 0x1f))); |
306 | if (level) | 306 | if (level) |
307 | desc->status |= IRQ_LEVEL; | 307 | desc->status |= IRQ_LEVEL; |
308 | else | ||
309 | desc->status |= IRQ_DELAYED_DISABLE; | ||
310 | set_irq_chip_and_handler(virq, &pmac_pic, level ? | 308 | set_irq_chip_and_handler(virq, &pmac_pic, level ? |
311 | handle_level_irq : handle_edge_irq); | 309 | handle_level_irq : handle_edge_irq); |
312 | return 0; | 310 | return 0; |
diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c index 566e64d966c4..950682f35766 100644 --- a/arch/x86_64/kernel/io_apic.c +++ b/arch/x86_64/kernel/io_apic.c | |||
@@ -810,11 +810,9 @@ static void ioapic_register_intr(int irq, int vector, unsigned long trigger) | |||
810 | trigger == IOAPIC_LEVEL) | 810 | trigger == IOAPIC_LEVEL) |
811 | set_irq_chip_and_handler_name(irq, &ioapic_chip, | 811 | set_irq_chip_and_handler_name(irq, &ioapic_chip, |
812 | handle_fasteoi_irq, "fasteoi"); | 812 | handle_fasteoi_irq, "fasteoi"); |
813 | else { | 813 | else |
814 | irq_desc[irq].status |= IRQ_DELAYED_DISABLE; | ||
815 | set_irq_chip_and_handler_name(irq, &ioapic_chip, | 814 | set_irq_chip_and_handler_name(irq, &ioapic_chip, |
816 | handle_edge_irq, "edge"); | 815 | handle_edge_irq, "edge"); |
817 | } | ||
818 | } | 816 | } |
819 | static void __init setup_IO_APIC_irq(int apic, int pin, int idx, int irq) | 817 | static void __init setup_IO_APIC_irq(int apic, int pin, int idx, int irq) |
820 | { | 818 | { |
diff --git a/include/linux/irq.h b/include/linux/irq.h index 29f715e71bdd..f486c4dee1bf 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
@@ -57,10 +57,9 @@ typedef void fastcall (*irq_flow_handler_t)(unsigned int irq, | |||
57 | #define IRQ_NOPROBE 0x00020000 /* IRQ is not valid for probing */ | 57 | #define IRQ_NOPROBE 0x00020000 /* IRQ is not valid for probing */ |
58 | #define IRQ_NOREQUEST 0x00040000 /* IRQ cannot be requested */ | 58 | #define IRQ_NOREQUEST 0x00040000 /* IRQ cannot be requested */ |
59 | #define IRQ_NOAUTOEN 0x00080000 /* IRQ will not be enabled on request irq */ | 59 | #define IRQ_NOAUTOEN 0x00080000 /* IRQ will not be enabled on request irq */ |
60 | #define IRQ_DELAYED_DISABLE 0x00100000 /* IRQ disable (masking) happens delayed. */ | 60 | #define IRQ_WAKEUP 0x00100000 /* IRQ triggers system wakeup */ |
61 | #define IRQ_WAKEUP 0x00200000 /* IRQ triggers system wakeup */ | 61 | #define IRQ_MOVE_PENDING 0x00200000 /* need to re-target IRQ destination */ |
62 | #define IRQ_MOVE_PENDING 0x00400000 /* need to re-target IRQ destination */ | 62 | #define IRQ_NO_BALANCING 0x00400000 /* IRQ is excluded from balancing */ |
63 | #define IRQ_NO_BALANCING 0x00800000 /* IRQ is excluded from balancing */ | ||
64 | 63 | ||
65 | #ifdef CONFIG_IRQ_PER_CPU | 64 | #ifdef CONFIG_IRQ_PER_CPU |
66 | # define CHECK_IRQ_PER_CPU(var) ((var) & IRQ_PER_CPU) | 65 | # define CHECK_IRQ_PER_CPU(var) ((var) & IRQ_PER_CPU) |