# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/04/20 20:55:53-04:00 len.brown@intel.com 
#   ACPI] Delete IRQ2 "cascade" in ACPI IOAPIC mode
#   no such concept exists in ACPI, frees IRQ2 for use.
# 
# arch/x86_64/kernel/i8259.c
#   2004/04/20 20:55:12-04:00 len.brown@intel.com +3 -1
#   [ACPI] Delete IRQ2 "cascade" in ACPI IOAPIC mode
# 
# arch/i386/mach-voyager/setup.c
#   2004/04/20 20:55:12-04:00 len.brown@intel.com +3 -1
#   [ACPI] Delete IRQ2 "cascade" in ACPI IOAPIC mode
# 
# arch/i386/mach-es7000/setup.c
#   2004/04/20 20:55:12-04:00 len.brown@intel.com +4 -3
#   [ACPI] Delete IRQ2 "cascade" in ACPI IOAPIC mode
# 
# arch/i386/mach-default/setup.c
#   2004/04/20 20:55:12-04:00 len.brown@intel.com +3 -1
#   [ACPI] Delete IRQ2 "cascade" in ACPI IOAPIC mode
# 
diff -Nru a/arch/i386/mach-default/setup.c b/arch/i386/mach-default/setup.c
--- a/arch/i386/mach-default/setup.c	Tue Apr 20 20:56:00 2004
+++ b/arch/i386/mach-default/setup.c	Tue Apr 20 20:56:00 2004
@@ -7,6 +7,7 @@
 #include <linux/init.h>
 #include <linux/irq.h>
 #include <linux/interrupt.h>
+#include <asm/acpi.h>
 #include <asm/arch_hooks.h>
 
 /**
@@ -43,7 +44,8 @@
 	apic_intr_init();
 #endif
 
-	setup_irq(2, &irq2);
+	if (!acpi_ioapic)
+		setup_irq(2, &irq2);
 }
 
 /**
diff -Nru a/arch/i386/mach-es7000/setup.c b/arch/i386/mach-es7000/setup.c
--- a/arch/i386/mach-es7000/setup.c	Tue Apr 20 20:56:00 2004
+++ b/arch/i386/mach-es7000/setup.c	Tue Apr 20 20:56:00 2004
@@ -7,6 +7,7 @@
 #include <linux/init.h>
 #include <linux/irq.h>
 #include <linux/interrupt.h>
+#include <asm/acpi.h>
 #include <asm/arch_hooks.h>
 
 /**
@@ -17,8 +18,7 @@
  *	the "ordinary" interrupt call gates.  For legacy reasons, the ISA
  *	interrupts should be initialised here if the machine emulates a PC
  *	in any way.
- **/
-void __init pre_intr_init_hook(void)
+ **/void __init pre_intr_init_hook(void)
 {
 	init_ISA_irqs();
 }
@@ -43,7 +43,8 @@
 	apic_intr_init();
 #endif
 
-	setup_irq(2, &irq2);
+	if (!acpi_ioapic)
+		setup_irq(2, &irq2);
 }
 
 /**
diff -Nru a/arch/i386/mach-voyager/setup.c b/arch/i386/mach-voyager/setup.c
--- a/arch/i386/mach-voyager/setup.c	Tue Apr 20 20:56:00 2004
+++ b/arch/i386/mach-voyager/setup.c	Tue Apr 20 20:56:00 2004
@@ -6,6 +6,7 @@
 #include <linux/init.h>
 #include <linux/irq.h>
 #include <linux/interrupt.h>
+#include <asm/acpi.h>
 #include <asm/arch_hooks.h>
 
 void __init pre_intr_init_hook(void)
@@ -24,7 +25,8 @@
 	smp_intr_init();
 #endif
 
-	setup_irq(2, &irq2);
+	if (!acpi_ioapic)
+		setup_irq(2, &irq2);
 }
 
 void __init pre_setup_arch_hook(void)
diff -Nru a/arch/x86_64/kernel/i8259.c b/arch/x86_64/kernel/i8259.c
--- a/arch/x86_64/kernel/i8259.c	Tue Apr 20 20:56:00 2004
+++ b/arch/x86_64/kernel/i8259.c	Tue Apr 20 20:56:00 2004
@@ -13,6 +13,7 @@
 #include <linux/kernel_stat.h>
 #include <linux/sysdev.h>
 
+#include <asm/acpi.h>
 #include <asm/atomic.h>
 #include <asm/system.h>
 #include <asm/io.h>
@@ -490,5 +491,6 @@
 	 */
 	setup_timer();
 
-	setup_irq(2, &irq2);
+	if (!acpi_ioapic)
+		setup_irq(2, &irq2);
 }
