# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#	           ChangeSet	1.1152  -> 1.1153 
#	include/asm-i386/acpi.h	1.10    -> 1.11   
#	include/asm-x86_64/acpi.h	1.4     -> 1.5    
#	arch/x86_64/kernel/setup.c	1.8     -> 1.9    
#	arch/x86_64/kernel/e820.c	1.5     -> 1.6    
#	arch/i386/kernel/dmi_scan.c	1.38    -> 1.39   
#	arch/i386/kernel/pci-pc.c	1.31    -> 1.32   
#	arch/i386/kernel/setup.c	1.74    -> 1.75   
#	arch/x86_64/kernel/pci-pc.c	1.5     -> 1.6    
#	arch/i386/kernel/acpi.c	1.18    -> 1.19   
#	arch/x86_64/kernel/acpi.c	1.7     -> 1.8    
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/11/20	len.brown@intel.com	1.1153
# [ACPI] "pci=noacpi" -- replace two sets of flags with one: acpi_noirq
# --------------------------------------------
#
diff -Nru a/arch/i386/kernel/acpi.c b/arch/i386/kernel/acpi.c
--- a/arch/i386/kernel/acpi.c	Thu Nov 20 03:57:31 2003
+++ b/arch/i386/kernel/acpi.c	Thu Nov 20 03:57:31 2003
@@ -57,9 +57,8 @@
    -------------------------------------------------------------------------- */
 
 #ifdef CONFIG_ACPI_BOOT
-extern int acpi_disabled;
-extern int acpi_irq;
-extern int acpi_ht;
+int acpi_noirq __initdata = 0;  /* skip ACPI IRQ initialization */
+int acpi_ht __initdata = 1;     /* enable HT */
 
 enum acpi_irq_model_id		acpi_irq_model;
 
@@ -416,7 +415,7 @@
 	 * If MPS is present, it will handle them,
 	 * otherwise the system will stay in PIC mode
 	 */
-	if (acpi_disabled || !acpi_irq) {
+	if (acpi_disabled || acpi_noirq) {
 		return 1;
 	}
 
diff -Nru a/arch/i386/kernel/dmi_scan.c b/arch/i386/kernel/dmi_scan.c
--- a/arch/i386/kernel/dmi_scan.c	Thu Nov 20 03:57:31 2003
+++ b/arch/i386/kernel/dmi_scan.c	Thu Nov 20 03:57:31 2003
@@ -5,6 +5,7 @@
 #include <linux/init.h>
 #include <linux/apm_bios.h>
 #include <linux/slab.h>
+#include <asm/acpi.h>
 #include <asm/io.h>
 #include <linux/pm.h>
 #include <asm/keyboard.h>
@@ -584,10 +585,8 @@
 #ifdef	CONFIG_ACPI_PCI
 static __init int disable_acpi_pci(struct dmi_blacklist *d) 
 { 
-	extern __init void pci_disable_acpi(void) ;
-
 	printk(KERN_NOTICE "%s detected: force use of pci=noacpi\n", d->ident);
-	pci_disable_acpi();
+	acpi_noirq_set();
 	return 0;
 } 
 #endif	/* CONFIG_ACPI_PCI */
diff -Nru a/arch/i386/kernel/pci-pc.c b/arch/i386/kernel/pci-pc.c
--- a/arch/i386/kernel/pci-pc.c	Thu Nov 20 03:57:31 2003
+++ b/arch/i386/kernel/pci-pc.c	Thu Nov 20 03:57:31 2003
@@ -1414,14 +1414,6 @@
 	return;
 }
 
-static int use_acpi_pci __initdata = 1;
-
-__init void pci_disable_acpi(void)
-{
-	use_acpi_pci = 0;
-	return;
-}
-
 void __init pcibios_init(void)
 {
 	int quad;
@@ -1435,7 +1427,7 @@
 
 	printk(KERN_INFO "PCI: Probing PCI hardware\n");
 #ifdef CONFIG_ACPI_PCI
-	if (use_acpi_pci && !acpi_pci_irq_init()) {
+	if (!acpi_noirq && !acpi_pci_irq_init()) {
 		pci_using_acpi_prt = 1;
 		printk(KERN_INFO "PCI: Using ACPI for IRQ routing\n");
 		printk(KERN_INFO "PCI: if you experience problems, try using option 'pci=noacpi' or even 'acpi=off'\n");
@@ -1508,7 +1500,7 @@
 		pcibios_last_bus = simple_strtol(str+8, NULL, 0);
 		return NULL;
 	} else if (!strncmp(str, "noacpi", 6)) {
-		pci_disable_acpi();
+		acpi_noirq_set();
 		return NULL;
 	}
 	return str;
diff -Nru a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
--- a/arch/i386/kernel/setup.c	Thu Nov 20 03:57:31 2003
+++ b/arch/i386/kernel/setup.c	Thu Nov 20 03:57:31 2003
@@ -184,12 +184,9 @@
 EXPORT_SYMBOL(acpi_disabled);
 
 #ifdef	CONFIG_ACPI_BOOT
-	int acpi_irq __initdata = 1; 	/* enable IRQ */
-	int acpi_ht __initdata = 1; 	/* enable HT */
-#endif
-
-
+extern	int __initdata acpi_ht;
 int acpi_force __initdata = 0;
+#endif
 
 extern int blk_nohighio;
 
@@ -833,7 +830,7 @@
 		} 
 
 		else if (!memcmp(from, "pci=noacpi", 10)) { 
-			acpi_irq = 0; 
+			acpi_noirq_set();
 		}
 
                 /* disable IO-APIC */
diff -Nru a/arch/x86_64/kernel/acpi.c b/arch/x86_64/kernel/acpi.c
--- a/arch/x86_64/kernel/acpi.c	Thu Nov 20 03:57:31 2003
+++ b/arch/x86_64/kernel/acpi.c	Thu Nov 20 03:57:31 2003
@@ -56,7 +56,6 @@
 
 #ifdef CONFIG_ACPI_BOOT
 
-extern int acpi_irq;
 enum acpi_irq_model_id		acpi_irq_model;
 
 
@@ -397,7 +396,6 @@
 
 int __init
 acpi_boot_init (void)
-	
 {
 	int			result = 0;
 
@@ -491,7 +489,7 @@
 	 * If MPS is present, it will handle them,
 	 * otherwise the system will stay in PIC mode
 	 */
-	if (acpi_disabled || !acpi_irq) {
+	if (acpi_disabled || acpi_noirq) {
 		return 1;
 	}
 
diff -Nru a/arch/x86_64/kernel/e820.c b/arch/x86_64/kernel/e820.c
--- a/arch/x86_64/kernel/e820.c	Thu Nov 20 03:57:31 2003
+++ b/arch/x86_64/kernel/e820.c	Thu Nov 20 03:57:31 2003
@@ -12,6 +12,7 @@
 #include <asm/page.h>
 #include <asm/e820.h>
 #include <asm/proto.h>
+#include <asm/acpi.h>
 #include <asm/bootsetup.h>
 
 extern unsigned long table_start, table_end;
@@ -501,7 +502,6 @@
 extern int fallback_aper_order;
 extern int iommu_setup(char *opt);
 extern int acpi_disabled;
-extern int acpi_irq;
 
 void __init parse_mem_cmdline (char ** cmdline_p)
 {
@@ -540,12 +540,14 @@
 			iommu_setup(from+6); 
 		} 	
 #endif
+#ifdef        CONFIG_ACPI_BOOT
  		else if (!memcmp(from, "acpi=off", 8))
   			acpi_disabled = 1;
 
 		else if (!memcmp(from, "pci=noacpi", 10)) {
-			acpi_irq = 0;
+			acpi_noirq_set();
 		}
+#endif
 
 		
 	next:
diff -Nru a/arch/x86_64/kernel/pci-pc.c b/arch/x86_64/kernel/pci-pc.c
--- a/arch/x86_64/kernel/pci-pc.c	Thu Nov 20 03:57:31 2003
+++ b/arch/x86_64/kernel/pci-pc.c	Thu Nov 20 03:57:31 2003
@@ -568,14 +568,6 @@
 	return;
 }
 
-static int use_acpi_pci __initdata = 1;
-
-__init void pci_disable_acpi(void)
-{
-	use_acpi_pci = 0;
-	return;
-}
-
 void __devinit pcibios_init(void)
 {
 	struct pci_ops *dir = NULL;
@@ -596,7 +588,7 @@
 
 	printk(KERN_INFO "PCI: Probing PCI hardware\n");
 #ifdef CONFIG_ACPI_PCI
- 	if (use_acpi_pci && !acpi_pci_irq_init())
+ 	if (!acpi_noirq && !acpi_pci_irq_init())
  		pci_using_acpi_prt = 1;
 #endif
  	if (!pci_using_acpi_prt) {
diff -Nru a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c
--- a/arch/x86_64/kernel/setup.c	Thu Nov 20 03:57:31 2003
+++ b/arch/x86_64/kernel/setup.c	Thu Nov 20 03:57:31 2003
@@ -50,7 +50,7 @@
 
 int acpi_disabled = 0;
 #ifdef	CONFIG_ACPI_BOOT
-int acpi_irq __initdata = 1;	/* enable IRQ */
+int acpi_noirq __initdata = 0;	/* skip ACPI IRQ initialization */
 #endif
 
 
diff -Nru a/include/asm-i386/acpi.h b/include/asm-i386/acpi.h
--- a/include/asm-i386/acpi.h	Thu Nov 20 03:57:31 2003
+++ b/include/asm-i386/acpi.h	Thu Nov 20 03:57:31 2003
@@ -109,6 +109,7 @@
 #ifdef CONFIG_ACPI_BOOT 
 extern int acpi_lapic;
 extern int acpi_ioapic;
+extern int acpi_noirq;
 
 /* Fixmap pages to reserve for ACPI boot-time tables (see fixmap.h) */
 #define FIX_ACPI_PAGES 4
@@ -120,10 +121,11 @@
 #endif	/* !CONFIG_ACPI_BOOT */
 
 #ifdef CONFIG_ACPI_PCI
+static inline void acpi_noirq_set(void) { acpi_noirq = 1; }
 extern int acpi_irq_balance_set(char *str);
 #else
-static inline int acpi_irq_balance_set(char *str)
-{ return 0; }
+static inline void acpi_noirq_set(void) { }
+static inline int acpi_irq_balance_set(char *str) { return 0; }
 #endif
 
 #ifdef CONFIG_ACPI_SLEEP
diff -Nru a/include/asm-x86_64/acpi.h b/include/asm-x86_64/acpi.h
--- a/include/asm-x86_64/acpi.h	Thu Nov 20 03:57:31 2003
+++ b/include/asm-x86_64/acpi.h	Thu Nov 20 03:57:31 2003
@@ -107,7 +107,7 @@
 #ifdef CONFIG_ACPI_BOOT 
 extern int acpi_lapic;
 extern int acpi_ioapic;
-
+extern int acpi_noirq;
 
 /* Fixmap pages to reserve for ACPI boot-time tables (see fixmap.h) */
 #define FIX_ACPI_PAGES 4
@@ -119,10 +119,11 @@
 #endif
 
 #ifdef CONFIG_ACPI_PCI
+static inline void acpi_noirq_set(void) { acpi_noirq = 1; }
 extern int acpi_irq_balance_set(char *str);
 #else
-static inline int acpi_irq_balance_set(char *str)
-{ return 0; }
+static inline void acpi_noirq_set(void) { }
+static inline int acpi_irq_balance_set(char *str) { return 0; }
 #endif
 
 #ifdef CONFIG_ACPI_SLEEP
