mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 19:56:18 +00:00
[PATCH] i386/x86-64: simplify ioapic_register_intr()
Simplify (remove duplication of) code in ioapic_register_intr(). Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
0a1ad60d7a
commit
6ebcc00e95
2 changed files with 16 additions and 30 deletions
|
@ -1205,21 +1205,14 @@ static struct hw_interrupt_type ioapic_edge_type;
|
|||
|
||||
static inline void ioapic_register_intr(int irq, int vector, unsigned long trigger)
|
||||
{
|
||||
if (use_pci_vector() && !platform_legacy_irq(irq)) {
|
||||
if ((trigger == IOAPIC_AUTO && IO_APIC_irq_trigger(irq)) ||
|
||||
trigger == IOAPIC_LEVEL)
|
||||
irq_desc[vector].handler = &ioapic_level_type;
|
||||
else
|
||||
irq_desc[vector].handler = &ioapic_edge_type;
|
||||
set_intr_gate(vector, interrupt[vector]);
|
||||
} else {
|
||||
if ((trigger == IOAPIC_AUTO && IO_APIC_irq_trigger(irq)) ||
|
||||
trigger == IOAPIC_LEVEL)
|
||||
irq_desc[irq].handler = &ioapic_level_type;
|
||||
else
|
||||
irq_desc[irq].handler = &ioapic_edge_type;
|
||||
set_intr_gate(vector, interrupt[irq]);
|
||||
}
|
||||
unsigned idx = use_pci_vector() && !platform_legacy_irq(irq) ? vector : irq;
|
||||
|
||||
if ((trigger == IOAPIC_AUTO && IO_APIC_irq_trigger(irq)) ||
|
||||
trigger == IOAPIC_LEVEL)
|
||||
irq_desc[idx].handler = &ioapic_level_type;
|
||||
else
|
||||
irq_desc[idx].handler = &ioapic_edge_type;
|
||||
set_intr_gate(vector, interrupt[idx]);
|
||||
}
|
||||
|
||||
static void __init setup_IO_APIC_irqs(void)
|
||||
|
|
|
@ -876,21 +876,14 @@ static struct hw_interrupt_type ioapic_edge_type;
|
|||
|
||||
static inline void ioapic_register_intr(int irq, int vector, unsigned long trigger)
|
||||
{
|
||||
if (use_pci_vector() && !platform_legacy_irq(irq)) {
|
||||
if ((trigger == IOAPIC_AUTO && IO_APIC_irq_trigger(irq)) ||
|
||||
trigger == IOAPIC_LEVEL)
|
||||
irq_desc[vector].handler = &ioapic_level_type;
|
||||
else
|
||||
irq_desc[vector].handler = &ioapic_edge_type;
|
||||
set_intr_gate(vector, interrupt[vector]);
|
||||
} else {
|
||||
if ((trigger == IOAPIC_AUTO && IO_APIC_irq_trigger(irq)) ||
|
||||
trigger == IOAPIC_LEVEL)
|
||||
irq_desc[irq].handler = &ioapic_level_type;
|
||||
else
|
||||
irq_desc[irq].handler = &ioapic_edge_type;
|
||||
set_intr_gate(vector, interrupt[irq]);
|
||||
}
|
||||
unsigned idx = use_pci_vector() && !platform_legacy_irq(irq) ? vector : irq;
|
||||
|
||||
if ((trigger == IOAPIC_AUTO && IO_APIC_irq_trigger(irq)) ||
|
||||
trigger == IOAPIC_LEVEL)
|
||||
irq_desc[idx].handler = &ioapic_level_type;
|
||||
else
|
||||
irq_desc[idx].handler = &ioapic_edge_type;
|
||||
set_intr_gate(vector, interrupt[idx]);
|
||||
}
|
||||
|
||||
static void __init setup_IO_APIC_irqs(void)
|
||||
|
|
Loading…
Reference in a new issue