diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2008-07-12 22:29:42 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-13 05:43:48 -0400 |
commit | ce8b06b985ae48f9425de6e4641e77cb3613ef00 (patch) | |
tree | 5aa88135a3b65118a48b8615d5eec50f633044d4 /arch/x86/kernel | |
parent | 3d88cca7085cffce077f808f36551e9050eb9e3a (diff) |
x86: I/O APIC: remove an IRQ2-mask hack
Now that IRQ2 is never made available to the I/O APIC, there is no need
to special-case it and mask as a workaround for broken systems. Actually,
because of the former, mask_IO_APIC_irq(2) is a no-op already.
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: Andreas Herrmann <andreas.herrmann3@amd.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/acpi/boot.c | 1 | ||||
-rw-r--r-- | arch/x86/kernel/io_apic_32.c | 10 | ||||
-rw-r--r-- | arch/x86/kernel/io_apic_64.c | 10 |
3 files changed, 0 insertions, 21 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index 785700a08e9d..f489d7a9be92 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
@@ -1409,7 +1409,6 @@ static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d) | |||
1409 | { | 1409 | { |
1410 | pr_notice("%s detected: Ignoring BIOS IRQ0 pin2 override\n", d->ident); | 1410 | pr_notice("%s detected: Ignoring BIOS IRQ0 pin2 override\n", d->ident); |
1411 | acpi_skip_timer_override = 1; | 1411 | acpi_skip_timer_override = 1; |
1412 | force_mask_ioapic_irq_2(); | ||
1413 | return 0; | 1412 | return 0; |
1414 | } | 1413 | } |
1415 | 1414 | ||
diff --git a/arch/x86/kernel/io_apic_32.c b/arch/x86/kernel/io_apic_32.c index c50adb84ea6f..603261a5885c 100644 --- a/arch/x86/kernel/io_apic_32.c +++ b/arch/x86/kernel/io_apic_32.c | |||
@@ -59,13 +59,6 @@ static struct { int pin, apic; } ioapic_i8259 = { -1, -1 }; | |||
59 | static DEFINE_SPINLOCK(ioapic_lock); | 59 | static DEFINE_SPINLOCK(ioapic_lock); |
60 | static DEFINE_SPINLOCK(vector_lock); | 60 | static DEFINE_SPINLOCK(vector_lock); |
61 | 61 | ||
62 | static bool mask_ioapic_irq_2 __initdata; | ||
63 | |||
64 | void __init force_mask_ioapic_irq_2(void) | ||
65 | { | ||
66 | mask_ioapic_irq_2 = true; | ||
67 | } | ||
68 | |||
69 | int timer_through_8259 __initdata; | 62 | int timer_through_8259 __initdata; |
70 | 63 | ||
71 | /* | 64 | /* |
@@ -2187,9 +2180,6 @@ static inline void __init check_timer(void) | |||
2187 | printk(KERN_INFO "..TIMER: vector=0x%02X apic1=%d pin1=%d apic2=%d pin2=%d\n", | 2180 | printk(KERN_INFO "..TIMER: vector=0x%02X apic1=%d pin1=%d apic2=%d pin2=%d\n", |
2188 | vector, apic1, pin1, apic2, pin2); | 2181 | vector, apic1, pin1, apic2, pin2); |
2189 | 2182 | ||
2190 | if (mask_ioapic_irq_2) | ||
2191 | mask_IO_APIC_irq(2); | ||
2192 | |||
2193 | /* | 2183 | /* |
2194 | * Some BIOS writers are clueless and report the ExtINTA | 2184 | * Some BIOS writers are clueless and report the ExtINTA |
2195 | * I/O APIC input from the cascaded 8259A as the timer | 2185 | * I/O APIC input from the cascaded 8259A as the timer |
diff --git a/arch/x86/kernel/io_apic_64.c b/arch/x86/kernel/io_apic_64.c index 9e645cba11c4..b16ef029cf88 100644 --- a/arch/x86/kernel/io_apic_64.c +++ b/arch/x86/kernel/io_apic_64.c | |||
@@ -94,13 +94,6 @@ static int no_timer_check; | |||
94 | 94 | ||
95 | static int disable_timer_pin_1 __initdata; | 95 | static int disable_timer_pin_1 __initdata; |
96 | 96 | ||
97 | static bool mask_ioapic_irq_2 __initdata; | ||
98 | |||
99 | void __init force_mask_ioapic_irq_2(void) | ||
100 | { | ||
101 | mask_ioapic_irq_2 = true; | ||
102 | } | ||
103 | |||
104 | int timer_through_8259 __initdata; | 97 | int timer_through_8259 __initdata; |
105 | 98 | ||
106 | /* Where if anywhere is the i8259 connect in external int mode */ | 99 | /* Where if anywhere is the i8259 connect in external int mode */ |
@@ -1706,9 +1699,6 @@ static inline void __init check_timer(void) | |||
1706 | apic_printk(APIC_VERBOSE,KERN_INFO "..TIMER: vector=0x%02X apic1=%d pin1=%d apic2=%d pin2=%d\n", | 1699 | apic_printk(APIC_VERBOSE,KERN_INFO "..TIMER: vector=0x%02X apic1=%d pin1=%d apic2=%d pin2=%d\n", |
1707 | cfg->vector, apic1, pin1, apic2, pin2); | 1700 | cfg->vector, apic1, pin1, apic2, pin2); |
1708 | 1701 | ||
1709 | if (mask_ioapic_irq_2) | ||
1710 | mask_IO_APIC_irq(2); | ||
1711 | |||
1712 | /* | 1702 | /* |
1713 | * Some BIOS writers are clueless and report the ExtINTA | 1703 | * Some BIOS writers are clueless and report the ExtINTA |
1714 | * I/O APIC input from the cascaded 8259A as the timer | 1704 | * I/O APIC input from the cascaded 8259A as the timer |