提交 d7e25f33 编写于 作者: I Ingo Molnar 提交者: Linus Torvalds

[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: NIngo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 76d21601
...@@ -159,8 +159,7 @@ void __init init_IRQ(void) ...@@ -159,8 +159,7 @@ void __init init_IRQ(void)
int irq; int irq;
for (irq = 0; irq < NR_IRQS; irq++) for (irq = 0; irq < NR_IRQS; irq++)
irq_desc[irq].status |= IRQ_NOREQUEST | IRQ_DELAYED_DISABLE | irq_desc[irq].status |= IRQ_NOREQUEST | IRQ_NOPROBE;
IRQ_NOPROBE;
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
bad_irq_desc.affinity = CPU_MASK_ALL; bad_irq_desc.affinity = CPU_MASK_ALL;
......
...@@ -1281,11 +1281,9 @@ static void ioapic_register_intr(int irq, int vector, unsigned long trigger) ...@@ -1281,11 +1281,9 @@ static void ioapic_register_intr(int irq, int vector, unsigned long trigger)
trigger == IOAPIC_LEVEL) trigger == IOAPIC_LEVEL)
set_irq_chip_and_handler_name(irq, &ioapic_chip, set_irq_chip_and_handler_name(irq, &ioapic_chip,
handle_fasteoi_irq, "fasteoi"); handle_fasteoi_irq, "fasteoi");
else { else
irq_desc[irq].status |= IRQ_DELAYED_DISABLE;
set_irq_chip_and_handler_name(irq, &ioapic_chip, set_irq_chip_and_handler_name(irq, &ioapic_chip,
handle_edge_irq, "edge"); handle_edge_irq, "edge");
}
set_intr_gate(vector, interrupt[irq]); set_intr_gate(vector, interrupt[irq]);
} }
......
...@@ -305,8 +305,6 @@ static int pmac_pic_host_map(struct irq_host *h, unsigned int virq, ...@@ -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))); level = !!(level_mask[hw >> 5] & (1UL << (hw & 0x1f)));
if (level) if (level)
desc->status |= IRQ_LEVEL; desc->status |= IRQ_LEVEL;
else
desc->status |= IRQ_DELAYED_DISABLE;
set_irq_chip_and_handler(virq, &pmac_pic, level ? set_irq_chip_and_handler(virq, &pmac_pic, level ?
handle_level_irq : handle_edge_irq); handle_level_irq : handle_edge_irq);
return 0; return 0;
......
...@@ -810,11 +810,9 @@ static void ioapic_register_intr(int irq, int vector, unsigned long trigger) ...@@ -810,11 +810,9 @@ static void ioapic_register_intr(int irq, int vector, unsigned long trigger)
trigger == IOAPIC_LEVEL) trigger == IOAPIC_LEVEL)
set_irq_chip_and_handler_name(irq, &ioapic_chip, set_irq_chip_and_handler_name(irq, &ioapic_chip,
handle_fasteoi_irq, "fasteoi"); handle_fasteoi_irq, "fasteoi");
else { else
irq_desc[irq].status |= IRQ_DELAYED_DISABLE;
set_irq_chip_and_handler_name(irq, &ioapic_chip, set_irq_chip_and_handler_name(irq, &ioapic_chip,
handle_edge_irq, "edge"); handle_edge_irq, "edge");
}
} }
static void __init setup_IO_APIC_irq(int apic, int pin, int idx, int irq) static void __init setup_IO_APIC_irq(int apic, int pin, int idx, int irq)
{ {
......
...@@ -57,10 +57,9 @@ typedef void fastcall (*irq_flow_handler_t)(unsigned int irq, ...@@ -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_NOPROBE 0x00020000 /* IRQ is not valid for probing */
#define IRQ_NOREQUEST 0x00040000 /* IRQ cannot be requested */ #define IRQ_NOREQUEST 0x00040000 /* IRQ cannot be requested */
#define IRQ_NOAUTOEN 0x00080000 /* IRQ will not be enabled on request irq */ #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 0x00100000 /* IRQ triggers system wakeup */
#define IRQ_WAKEUP 0x00200000 /* IRQ triggers system wakeup */ #define IRQ_MOVE_PENDING 0x00200000 /* need to re-target IRQ destination */
#define IRQ_MOVE_PENDING 0x00400000 /* need to re-target IRQ destination */ #define IRQ_NO_BALANCING 0x00400000 /* IRQ is excluded from balancing */
#define IRQ_NO_BALANCING 0x00800000 /* IRQ is excluded from balancing */
#ifdef CONFIG_IRQ_PER_CPU #ifdef CONFIG_IRQ_PER_CPU
# define CHECK_IRQ_PER_CPU(var) ((var) & IRQ_PER_CPU) # define CHECK_IRQ_PER_CPU(var) ((var) & IRQ_PER_CPU)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册