http://linux-acpi.bkbits.net/linux-acpi-test-2.6.8
len.brown@intel.com[lenb]|ChangeSet|20040825021839|55103 len.brown

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/08/25 13:55:33-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# arch/i386/kernel/smpboot.c
#   2004/08/25 13:55:29-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/24 22:18:39-04:00 len.brown@intel.com 
#   [ACPI] quiet ACPI NUMA boot messages
#   Signed-off-by: Jesse Barnes <jbarnes@sgi.com>
# 
# drivers/acpi/tables.c
#   2004/08/24 18:12:20-04:00 len.brown@intel.com +2 -2
#   quiet boot messages
# 
# drivers/acpi/numa.c
#   2004/08/24 18:16:12-04:00 len.brown@intel.com +0 -4
#   quiet boot messages
# 
# ChangeSet
#   2004/08/24 17:25:44-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# init/main.c
#   2004/08/24 17:25:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# include/asm-x86_64/acpi.h
#   2004/08/24 17:25:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/smpboot.c
#   2004/08/24 17:25:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/08/24 17:25:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/mm/discontig.c
#   2004/08/24 17:25:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/smpboot.c
#   2004/08/24 17:25:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/io_apic.c
#   2004/08/24 17:25:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/23 13:41:18-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# init/main.c
#   2004/08/23 13:41:14-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/io_apic.c
#   2004/08/23 13:41:14-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/i8259.c
#   2004/08/23 13:41:14-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/22 21:01:53-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# arch/i386/kernel/smpboot.c
#   2004/08/22 21:01:49-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/21 23:12:45-04:00 len.brown@intel.com 
#   [ACPI] Enable ACPICA workarounds for 'RELAXED_AML' and 'implicit return'
#   These workarounds are disabled if "acpi=strict"
# 
# include/acpi/acglobal.h
#   2004/08/21 23:12:39-04:00 len.brown@intel.com +1 -1
#   acpi_gbl_enable_interpreter_slack typo fix
# 
# drivers/acpi/executer/exfldio.c
#   2004/08/21 23:12:39-04:00 len.brown@intel.com +2 -35
#   acpi_gbl_enable_interpreter_slack typo fix
#   delete the previous RELAXED_AML workaround it replaces
# 
# drivers/acpi/dispatcher/dsutils.c
#   2004/08/21 23:12:39-04:00 len.brown@intel.com +1 -1
#   acpi_gbl_enable_interpreter_slack typo fix
# 
# drivers/acpi/bus.c
#   2004/08/21 23:12:39-04:00 len.brown@intel.com +4 -0
#   if (!acpi_strict) enable_acpi_gbl_interpreter_slack = TRUE
# 
# ChangeSet
#   2004/08/20 18:18:05-04:00 len.brown@intel.com 
#   [ACPI] ACPICA 20040816 update from Bob Moore
#   
#   Designed and implemented support within the AML interpreter
#   for the so-called implicit return.  This support returns
#   the result of the last ASL operation within a control
#   method, in the absence of an explicit Return() operator.
#   A few machines depend on this behavior, even though it
#   is not explicitly supported by the ASL language.  It is
#   optional support that can be enabled at runtime via the
#   acpi_gbl_enable_interpreter_slack flag.
#   
#   Removed support for the PCI_Config address space from the
#   internal low level hardware interfaces (acpi_hw_low_level_read
#   and acpi_hw_low_level_write).  This support was not used
#   internally, and would not work correctly anyway because
#   the PCI bus number and segment number were not supported.
#   There are separate interfaces for PCI configuration space
#   access because of the unique interface.
#   acpica-unix-20040816.patch
#   
#   AE_CODE_AML_MAX fix from Bjorn Helgaas
# 
# include/acpi/acmacros.h
#   2004/08/20 14:05:51-04:00 len.brown@intel.com +0 -18
#   ACPICA 20040816
# 
# include/acpi/acexcep.h
#   2004/08/20 14:05:51-04:00 len.brown@intel.com +1 -1
#   ACPICA 20040816
# 
# include/acpi/acconfig.h
#   2004/08/20 14:05:51-04:00 len.brown@intel.com +1 -1
#   ACPICA 20040816
# 
# drivers/acpi/hardware/hwtimer.c
#   2004/08/20 14:05:55-04:00 len.brown@intel.com +12 -16
#   ACPICA 20040816
# 
# drivers/acpi/hardware/hwregs.c
#   2004/08/20 14:05:55-04:00 len.brown@intel.com +22 -48
#   ACPICA 20040816
# 
# drivers/acpi/hardware/hwgpe.c
#   2004/08/20 14:05:55-04:00 len.brown@intel.com +1 -1
#   ACPICA 20040816
# 
# drivers/acpi/events/evxface.c
#   2004/08/20 14:05:55-04:00 len.brown@intel.com +5 -6
#   ACPICA 20040816
# 
# drivers/acpi/events/evrgnini.c
#   2004/08/20 14:05:55-04:00 len.brown@intel.com +6 -6
#   ACPICA 20040816
# 
# drivers/acpi/events/evregion.c
#   2004/08/20 14:05:55-04:00 len.brown@intel.com +8 -9
#   ACPICA 20040816
# 
# drivers/acpi/events/evmisc.c
#   2004/08/20 14:05:55-04:00 len.brown@intel.com +23 -9
#   ACPICA 20040816
# 
# drivers/acpi/events/evgpe.c
#   2004/08/20 14:05:55-04:00 len.brown@intel.com +5 -1
#   ACPICA 20040816
# 
# drivers/acpi/dispatcher/dsutils.c
#   2004/08/20 14:05:55-04:00 len.brown@intel.com +37 -16
#   ACPICA 20040816
# 
# drivers/acpi/dispatcher/dsmethod.c
#   2004/08/20 14:05:55-04:00 len.brown@intel.com +31 -21
#   ACPICA 20040816
# 
# ChangeSet
#   2004/08/19 02:43:31-04:00 len.brown@intel.com 
#   [ACPI] fix __initdata bug in acpi_irq_penalty[]
#   
#   Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
# 
# drivers/acpi/pci_link.c
#   2004/08/18 19:26:48-04:00 len.brown@intel.com +2 -2
#   fix __initdata bug in acpi_irq_penalty[]
# 
# ChangeSet
#   2004/08/17 14:06:20-07:00 akpm@bix.(none) 
#   Merge http://linux-acpi.bkbits.net/linux-acpi-test-2.6.8
#   into bix.(none):/usr/src/bk-acpi
# 
# init/main.c
#   2004/08/17 14:06:15-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/15 00:51:42-07:00 akpm@bix.(none) 
#   Merge http://linux-acpi.bkbits.net/linux-acpi-test-2.6.7
#   into bix.(none):/usr/src/bk-acpi
# 
# init/main.c
#   2004/08/15 00:51:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/15 00:50:39-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# include/asm-x86_64/acpi.h
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/acpi/sleep/proc.c
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/acpi/sleep/main.c
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/acpi/scan.c
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/acpi/namespace/nsalloc.c
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/smpboot.c
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/i8259.c
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/ia64/kernel/acpi.c
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/mm/discontig.c
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/smpboot.c
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/setup.c
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/io_apic.c
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/i8259.c
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/acpi/boot.c
#   2004/08/15 00:50:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/09 21:24:35-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# drivers/acpi/sleep/proc.c
#   2004/08/09 21:24:31-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/05 19:47:19-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# arch/ia64/kernel/acpi.c
#   2004/08/05 19:47:15-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/02 10:40:21-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# arch/x86_64/kernel/i8259.c
#   2004/08/02 10:40:18-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/io_apic.c
#   2004/08/02 10:40:18-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/29 23:09:19-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# arch/i386/kernel/io_apic.c
#   2004/07/29 23:09:15-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/28 14:04:29-07:00 akpm@bix.(none) 
#   Merge http://linux-acpi.bkbits.net/linux-acpi-test-2.6.7
#   into bix.(none):/usr/src/bk-acpi
# 
# arch/x86_64/kernel/smpboot.c
#   2004/07/28 14:04:25-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/27 13:06:25-07:00 akpm@bix.(none) 
#   Merge
# 
# include/asm-x86_64/acpi.h
#   2004/07/27 13:06:22-07:00 akpm@bix.(none) +4 -0
#   SCCS merged
# 
# drivers/acpi/sleep/main.c
#   2004/07/27 13:05:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/acpi/scan.c
#   2004/07/27 13:05:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/acpi/namespace/nsalloc.c
#   2004/07/27 13:05:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/smpboot.c
#   2004/07/27 13:05:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/07/27 13:05:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/i8259.c
#   2004/07/27 13:05:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/ia64/kernel/acpi.c
#   2004/07/27 13:05:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/mm/discontig.c
#   2004/07/27 13:05:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/smpboot.c
#   2004/07/27 13:05:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/setup.c
#   2004/07/27 13:05:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/io_apic.c
#   2004/07/27 13:05:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/acpi/boot.c
#   2004/07/27 13:05:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/i8259.c
#   2004/07/27 13:05:21-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
diff -Nru a/drivers/acpi/bus.c b/drivers/acpi/bus.c
--- a/drivers/acpi/bus.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/bus.c	2004-08-25 19:22:27 -07:00
@@ -598,6 +598,10 @@
 
 	ACPI_FUNCTION_TRACE("acpi_bus_init");
 
+	/* enable workarounds, unless strict ACPI spec. compliance */
+	if (!acpi_strict)
+		acpi_gbl_enable_interpreter_slack = TRUE;
+
 	status = acpi_initialize_subsystem();
 	if (ACPI_FAILURE(status)) {
 		printk(KERN_ERR PREFIX "Unable to initialize the ACPI Interpreter\n");
diff -Nru a/drivers/acpi/dispatcher/dsmethod.c b/drivers/acpi/dispatcher/dsmethod.c
--- a/drivers/acpi/dispatcher/dsmethod.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/dispatcher/dsmethod.c	2004-08-25 19:22:27 -07:00
@@ -58,15 +58,12 @@
  *
  * FUNCTION:    acpi_ds_parse_method
  *
- * PARAMETERS:  obj_handle      - Node of the method
- *              Level           - Current nesting level
- *              Context         - Points to a method counter
- *              return_value    - Not used
+ * PARAMETERS:  obj_handle      - Method node
  *
  * RETURN:      Status
  *
- * DESCRIPTION: Call the parser and parse the AML that is
- *              associated with the method.
+ * DESCRIPTION: Call the parser and parse the AML that is associated with the
+ *              method.
  *
  * MUTEX:       Assumes parser is locked
  *
@@ -191,8 +188,6 @@
  *              increments the thread count, and waits at the method semaphore
  *              for clearance to execute.
  *
- * MUTEX:       Locks/unlocks parser.
- *
  ******************************************************************************/
 
 acpi_status
@@ -251,7 +246,8 @@
  *
  * FUNCTION:    acpi_ds_call_control_method
  *
- * PARAMETERS:  walk_state          - Current state of the walk
+ * PARAMETERS:  Thread              - Info for this thread
+ *              this_walk_state     - Current walk state
  *              Op                  - Current Op to be walked
  *
  * RETURN:      Status
@@ -401,12 +397,13 @@
  *
  * FUNCTION:    acpi_ds_restart_control_method
  *
- * PARAMETERS:  walk_state          - State of the method when it was preempted
- *              Op                  - Pointer to new current op
+ * PARAMETERS:  walk_state          - State for preempted method (caller)
+ *              return_desc         - Return value from the called method
  *
  * RETURN:      Status
  *
- * DESCRIPTION: Restart a method that was preempted
+ * DESCRIPTION: Restart a method that was preempted by another (nested) method
+ *              invocation.  Handle the return value (if any) from the callee.
  *
  ******************************************************************************/
 
@@ -421,17 +418,35 @@
 	ACPI_FUNCTION_TRACE_PTR ("ds_restart_control_method", walk_state);
 
 
+	ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
+		"****Restart [%4.4s] Op %p return_value_from_callee %p\n",
+		(char *) &walk_state->method_node->name, walk_state->method_call_op,
+		return_desc));
+
+	ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
+		"    return_from_this_method_used?=%X res_stack %p Walk %p\n",
+		walk_state->return_used,
+		walk_state->results, walk_state));
+
+	/* Did the called method return a value? */
+
 	if (return_desc) {
+		/* Are we actually going to use the return value? */
+
 		if (walk_state->return_used) {
-			/*
-			 * Get the return value (if any) from the previous method.
-			 * NULL if no return value
-			 */
+			/* Save the return value from the previous method */
+
 			status = acpi_ds_result_push (return_desc, walk_state);
 			if (ACPI_FAILURE (status)) {
 				acpi_ut_remove_reference (return_desc);
 				return_ACPI_STATUS (status);
 			}
+
+			/*
+			 * Save as THIS method's return value in case it is returned
+			 * immediately to yet another method
+			 */
+			walk_state->return_desc = return_desc;
 		}
 		else {
 			/*
@@ -441,11 +456,6 @@
 			acpi_ut_remove_reference (return_desc);
 		}
 	}
-
-	ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
-		"Method=%p Return=%p return_used?=%X res_stack=%p State=%p\n",
-		walk_state->method_call_op, return_desc, walk_state->return_used,
-		walk_state->results, walk_state));
 
 	return_ACPI_STATUS (AE_OK);
 }
diff -Nru a/drivers/acpi/dispatcher/dsutils.c b/drivers/acpi/dispatcher/dsutils.c
--- a/drivers/acpi/dispatcher/dsutils.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/dispatcher/dsutils.c	2004-08-25 19:22:27 -07:00
@@ -60,11 +60,10 @@
  *
  * FUNCTION:    acpi_ds_is_result_used
  *
- * PARAMETERS:  Op
- *              result_obj
- *              walk_state
+ * PARAMETERS:  Op                  - Current Op
+ *              walk_state          - Current State
  *
- * RETURN:      Status
+ * RETURN:      TRUE if result is used, FALSE otherwise
  *
  * DESCRIPTION: Check if a result object will be used by the parent
  *
@@ -89,18 +88,39 @@
 	}
 
 	/*
-	 * If there is no parent, the result can't possibly be used!
-	 * (An executing method typically has no parent, since each
-	 * method is parsed separately)  However, a method that is
-	 * invoked from another method has a parent.
+	 * If there is no parent, we are executing at the method level.
+	 * An executing method typically has no parent, since each method
+	 * is parsed separately.
 	 */
 	if (!op->common.parent) {
+		/*
+		 * If this is the last statement in the method, we know it is not a
+		 * Return() operator (would not come here.) The following code is the
+		 * optional support for a so-called "implicit return". Some AML code
+		 * assumes that the last value of the method is "implicitly" returned
+		 * to the caller. Just save the last result as the return value.
+		 * NOTE: this is optional because the ASL language does not actually
+		 * support this behavior.
+		 */
+		if ((acpi_gbl_enable_interpreter_slack) &&
+			(walk_state->parser_state.aml >= walk_state->parser_state.aml_end)) {
+			ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
+					"Result of [%s] will be implicitly returned\n",
+					acpi_ps_get_opcode_name (op->common.aml_opcode)));
+
+			/* Use the top of the result stack as the implicit return value */
+
+			walk_state->return_desc = walk_state->results->results.obj_desc[0];
+			return_VALUE (TRUE);
+		}
+
+		/* No parent, the return value cannot possibly be used */
+
 		return_VALUE (FALSE);
 	}
 
-	/*
-	 * Get info on the parent.  The root Op is AML_SCOPE
-	 */
+	/* Get info on the parent. The root_op is AML_SCOPE */
+
 	parent_info = acpi_ps_get_opcode_info (op->common.parent->common.aml_opcode);
 	if (parent_info->class == AML_CLASS_UNKNOWN) {
 		ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Unknown parent opcode. Op=%p\n", op));
@@ -204,9 +224,9 @@
  *
  * FUNCTION:    acpi_ds_delete_result_if_not_used
  *
- * PARAMETERS:  Op
- *              result_obj
- *              walk_state
+ * PARAMETERS:  Op              - Current parse Op
+ *              result_obj      - Result of the operation
+ *              walk_state      - Current state
  *
  * RETURN:      Status
  *
@@ -338,8 +358,9 @@
  *
  * FUNCTION:    acpi_ds_create_operand
  *
- * PARAMETERS:  walk_state
- *              Arg
+ * PARAMETERS:  walk_state      - Current walk state
+ *              Arg             - Parse object for the argument
+ *              arg_index       - Which argument (zero based)
  *
  * RETURN:      Status
  *
diff -Nru a/drivers/acpi/events/evgpe.c b/drivers/acpi/events/evgpe.c
--- a/drivers/acpi/events/evgpe.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/events/evgpe.c	2004-08-25 19:22:27 -07:00
@@ -102,6 +102,8 @@
  * FUNCTION:    acpi_ev_update_gpe_enable_masks
  *
  * PARAMETERS:  gpe_event_info          - GPE to update
+ *              Type                    - What to do: ACPI_GPE_DISABLE or
+ *                                        ACPI_GPE_ENABLE
  *
  * RETURN:      Status
  *
@@ -166,6 +168,8 @@
  * FUNCTION:    acpi_ev_enable_gpe
  *
  * PARAMETERS:  gpe_event_info          - GPE to enable
+ *              write_to_hardware       - Enable now, or just mark data structs
+ *                                        (WAKE GPEs should be deferred)
  *
  * RETURN:      Status
  *
@@ -707,7 +711,7 @@
 #ifdef ACPI_GPE_NOTIFY_CHECK
 
 /*******************************************************************************
- * NOT USED, PROTOTYPE ONLY AND WILL PROBABLY BE REMOVED
+ * TBD: NOT USED, PROTOTYPE ONLY AND WILL PROBABLY BE REMOVED
  *
  * FUNCTION:    acpi_ev_check_for_wake_only_gpe
  *
diff -Nru a/drivers/acpi/events/evmisc.c b/drivers/acpi/events/evmisc.c
--- a/drivers/acpi/events/evmisc.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/events/evmisc.c	2004-08-25 19:22:27 -07:00
@@ -88,9 +88,10 @@
  *
  * FUNCTION:    acpi_ev_queue_notify_request
  *
- * PARAMETERS:
+ * PARAMETERS:  Node            - NS node for the notified object
+ *              notify_value    - Value from the Notify() request
  *
- * RETURN:      None.
+ * RETURN:      Status
  *
  * DESCRIPTION: Dispatch a device notification event to a previously
  *              installed handler.
@@ -143,9 +144,8 @@
 				notify_value));
 	}
 
-	/*
-	 * Get the notify object attached to the NS Node
-	 */
+	/* Get the notify object attached to the NS Node */
+
 	obj_desc = acpi_ns_get_attached_object (node);
 	if (obj_desc) {
 		/* We have the notify object, Get the right handler */
@@ -193,8 +193,10 @@
 	}
 
 	if (!handler_obj) {
-		/* There is no per-device notify handler for this device */
-
+		/*
+		 * There is no per-device notify handler for this device.
+		 * This may or may not be a problem.
+		 */
 		ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
 			"No notify handler for Notify(%4.4s, %X) node %p\n",
 			acpi_ut_get_node_name (node), notify_value, node));
@@ -208,7 +210,7 @@
  *
  * FUNCTION:    acpi_ev_notify_dispatch
  *
- * PARAMETERS:
+ * PARAMETERS:  Context         - To be passsed to the notify handler
  *
  * RETURN:      None.
  *
@@ -275,6 +277,8 @@
  *
  * FUNCTION:    acpi_ev_global_lock_thread
  *
+ * PARAMETERS:  Context         - From thread interface, not used
+ *
  * RETURN:      None
  *
  * DESCRIPTION: Invoked by SCI interrupt handler upon acquisition of the
@@ -308,7 +312,9 @@
  *
  * FUNCTION:    acpi_ev_global_lock_handler
  *
- * RETURN:      Status
+ * PARAMETERS:  Context         - From thread interface, not used
+ *
+ * RETURN:      ACPI_INTERRUPT_HANDLED or ACPI_INTERRUPT_NOT_HANDLED
  *
  * DESCRIPTION: Invoked directly from the SCI handler when a global lock
  *              release interrupt occurs.  Grab the global lock and queue
@@ -355,6 +361,8 @@
  *
  * FUNCTION:    acpi_ev_init_global_lock_handler
  *
+ * PARAMETERS:  None
+ *
  * RETURN:      Status
  *
  * DESCRIPTION: Install a handler for the global lock release event
@@ -394,6 +402,8 @@
  *
  * FUNCTION:    acpi_ev_acquire_global_lock
  *
+ * PARAMETERS:  Timeout         - Max time to wait for the lock, in millisec.
+ *
  * RETURN:      Status
  *
  * DESCRIPTION: Attempt to gain ownership of the Global Lock.
@@ -460,6 +470,10 @@
 /*******************************************************************************
  *
  * FUNCTION:    acpi_ev_release_global_lock
+ *
+ * PARAMETERS:  None
+ *
+ * RETURN:      Status
  *
  * DESCRIPTION: Releases ownership of the Global Lock.
  *
diff -Nru a/drivers/acpi/events/evregion.c b/drivers/acpi/events/evregion.c
--- a/drivers/acpi/events/evregion.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/events/evregion.c	2004-08-25 19:22:27 -07:00
@@ -180,7 +180,7 @@
  * FUNCTION:    acpi_ev_execute_reg_method
  *
  * PARAMETERS:  region_obj          - Object structure
- *              Function            - On (1) or Off (0)
+ *              Function            - Passed to _REG:  On (1) or Off (0)
  *
  * RETURN:      Status
  *
@@ -232,7 +232,7 @@
 		goto cleanup;
 	}
 
-	/* Set up the parameter objects */
+	/* Setup the parameter objects */
 
 	params[0]->integer.value = region_obj->region.space_id;
 	params[1]->integer.value = function;
@@ -262,7 +262,6 @@
  * FUNCTION:    acpi_ev_address_space_dispatch
  *
  * PARAMETERS:  region_obj          - Internal region object
- *              space_id            - ID of the address space (0-255)
  *              Function            - Read or Write operation
  *              Address             - Where in the space to read or write
  *              bit_width           - Field width in bits (8, 16, 32, or 64)
@@ -425,8 +424,8 @@
  *
  * FUNCTION:    acpi_ev_detach_region
  *
- * PARAMETERS:  region_obj      - Region Object
- *              acpi_ns_is_locked - Namespace Region Already Locked?
+ * PARAMETERS:  region_obj          - Region Object
+ *              acpi_ns_is_locked   - Namespace Region Already Locked?
  *
  * RETURN:      None
  *
@@ -560,9 +559,9 @@
  *
  * FUNCTION:    acpi_ev_attach_region
  *
- * PARAMETERS:  handler_obj     - Handler Object
- *              region_obj      - Region Object
- *              acpi_ns_is_locked - Namespace Region Already Locked?
+ * PARAMETERS:  handler_obj         - Handler Object
+ *              region_obj          - Region Object
+ *              acpi_ns_is_locked   - Namespace Region Already Locked?
  *
  * RETURN:      None
  *
@@ -971,7 +970,7 @@
  *
  * RETURN:      Status
  *
- * DESCRIPTION: Run _REG methods for the Space ID;
+ * DESCRIPTION: Run all _REG methods for the input Space ID;
  *              Note: assumes namespace is locked, or system init time.
  *
  ******************************************************************************/
diff -Nru a/drivers/acpi/events/evrgnini.c b/drivers/acpi/events/evrgnini.c
--- a/drivers/acpi/events/evrgnini.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/events/evrgnini.c	2004-08-25 19:22:27 -07:00
@@ -54,7 +54,7 @@
  *
  * FUNCTION:    acpi_ev_system_memory_region_setup
  *
- * PARAMETERS:  region_obj          - Region we are interested in
+ * PARAMETERS:  Handle              - Region we are interested in
  *              Function            - Start or stop
  *              handler_context     - Address space handler context
  *              region_context      - Region specific context
@@ -108,7 +108,7 @@
  *
  * FUNCTION:    acpi_ev_io_space_region_setup
  *
- * PARAMETERS:  region_obj          - Region we are interested in
+ * PARAMETERS:  Handle              - Region we are interested in
  *              Function            - Start or stop
  *              handler_context     - Address space handler context
  *              region_context      - Region specific context
@@ -144,7 +144,7 @@
  *
  * FUNCTION:    acpi_ev_pci_config_region_setup
  *
- * PARAMETERS:  region_obj          - Region we are interested in
+ * PARAMETERS:  Handle             - Region we are interested in
  *              Function            - Start or stop
  *              handler_context     - Address space handler context
  *              region_context      - Region specific context
@@ -317,7 +317,7 @@
  *
  * FUNCTION:    acpi_ev_pci_bar_region_setup
  *
- * PARAMETERS:  region_obj          - Region we are interested in
+ * PARAMETERS:  Handle              - Region we are interested in
  *              Function            - Start or stop
  *              handler_context     - Address space handler context
  *              region_context      - Region specific context
@@ -348,7 +348,7 @@
  *
  * FUNCTION:    acpi_ev_cmos_region_setup
  *
- * PARAMETERS:  region_obj          - Region we are interested in
+ * PARAMETERS:  Handle              - Region we are interested in
  *              Function            - Start or stop
  *              handler_context     - Address space handler context
  *              region_context      - Region specific context
@@ -379,7 +379,7 @@
  *
  * FUNCTION:    acpi_ev_default_region_setup
  *
- * PARAMETERS:  region_obj          - Region we are interested in
+ * PARAMETERS:  Handle              - Region we are interested in
  *              Function            - Start or stop
  *              handler_context     - Address space handler context
  *              region_context      - Region specific context
diff -Nru a/drivers/acpi/events/evxface.c b/drivers/acpi/events/evxface.c
--- a/drivers/acpi/events/evxface.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/events/evxface.c	2004-08-25 19:22:27 -07:00
@@ -359,6 +359,7 @@
  *                                  ACPI_DEVICE_NOTIFY: driver_handler (80-ff)
  *                                  ACPI_ALL_NOTIFY:  both system and device
  *              Handler         - Address of the handler
+ *
  * RETURN:      Status
  *
  * DESCRIPTION: Remove a handler for notifies on an ACPI device
@@ -401,9 +402,8 @@
 		goto unlock_and_exit;
 	}
 
-	/*
-	 * Root Object
-	 */
+	/* Root Object */
+
 	if (device == ACPI_ROOT_OBJECT) {
 		ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "Removing notify handler for ROOT object.\n"));
 
@@ -437,9 +437,8 @@
 		}
 	}
 
-	/*
-	 * All Other Objects
-	 */
+	/* All Other Objects */
+
 	else {
 		/* Notifies allowed on this object? */
 
diff -Nru a/drivers/acpi/executer/exfldio.c b/drivers/acpi/executer/exfldio.c
--- a/drivers/acpi/executer/exfldio.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/executer/exfldio.c	2004-08-25 19:22:27 -07:00
@@ -130,7 +130,7 @@
 	if (rgn_desc->region.length < (obj_desc->common_field.base_byte_offset
 			   + field_datum_byte_offset
 			   + obj_desc->common_field.access_byte_width)) {
-		if (acpi_gbl_enable_interpeter_slack) {
+		if (acpi_gbl_enable_interpreter_slack) {
 			/*
 			 * Slack mode only:  We will go ahead and allow access to this
 			 * field if it is within the region length rounded up to the next
@@ -169,40 +169,7 @@
 			field_datum_byte_offset, obj_desc->common_field.access_byte_width,
 			acpi_ut_get_node_name (rgn_desc->region.node), rgn_desc->region.length));
 
-		if (!acpi_strict) {
-			/*
-			 * Allow access to the field if it is within the region size
-			 * rounded up to a multiple of the access byte width.  This
-			 * overcomes "off-by-one" programming errors in the AML often
-			 * found in Toshiba laptops.  These errors were allowed by
-			 * the Microsoft ASL compiler.
-			 */
-			u32 rounded_length = ACPI_ROUND_UP(rgn_desc->region.length,
-									obj_desc->common_field.access_byte_width);
-
-			if (rounded_length < (obj_desc->common_field.base_byte_offset
-						+ field_datum_byte_offset
-						+ obj_desc->common_field.access_byte_width)) {
-				return_ACPI_STATUS (AE_AML_REGION_LIMIT);
-			} else {
-				static int	warn_once = 1;
-				if (warn_once) {
-					// Could also associate a flag with each field, and
-					// warn once for each field.
-					ACPI_REPORT_WARNING((
-						"The ACPI AML in your computer contains errors, "
-						"please nag the manufacturer to correct it.\n"));
-					ACPI_REPORT_WARNING((
-						"Allowing relaxed access to fields; "
-						"turn on CONFIG_ACPI_DEBUG for details.\n"));
-					warn_once = 0;
-				}
-				return_ACPI_STATUS (AE_OK);
-			}
-		}
-		else {
-			return_ACPI_STATUS (AE_AML_REGION_LIMIT);
-		}
+		return_ACPI_STATUS (AE_AML_REGION_LIMIT);
 	}
 
 	return_ACPI_STATUS (AE_OK);
diff -Nru a/drivers/acpi/hardware/hwgpe.c b/drivers/acpi/hardware/hwgpe.c
--- a/drivers/acpi/hardware/hwgpe.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/hardware/hwgpe.c	2004-08-25 19:22:27 -07:00
@@ -96,7 +96,7 @@
  *
  * PARAMETERS:  gpe_event_info      - Info block for the GPE to be cleared
  *
- * RETURN:      status_status
+ * RETURN:      Status
  *
  * DESCRIPTION: Clear the status bit for a single GPE.
  *
diff -Nru a/drivers/acpi/hardware/hwregs.c b/drivers/acpi/hardware/hwregs.c
--- a/drivers/acpi/hardware/hwregs.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/hardware/hwregs.c	2004-08-25 19:22:27 -07:00
@@ -249,8 +249,8 @@
  *              return_value    - Value that was read from the register
  *              Flags           - Lock the hardware or not
  *
- * RETURN:      Value is read from specified Register.  Value returned is
- *              normalized to bit0 (is shifted all the way right)
+ * RETURN:      Status and the value read from specified Register.  Value
+ *              returned is normalized to bit0 (is shifted all the way right)
  *
  * DESCRIPTION: ACPI bit_register read function.
  *
@@ -284,6 +284,8 @@
 		}
 	}
 
+	/* Read from the register */
+
 	status = acpi_hw_register_read (ACPI_MTX_DO_NOT_LOCK,
 			  bit_reg_info->parent_register, &register_value);
 
@@ -313,10 +315,10 @@
  *
  * PARAMETERS:  register_id     - ID of ACPI bit_register to access
  *              Value           - (only used on write) value to write to the
- *                                Register, NOT pre-normalized to the bit pos.
+ *                                Register, NOT pre-normalized to the bit pos
  *              Flags           - Lock the hardware or not
  *
- * RETURN:      None
+ * RETURN:      Status
  *
  * DESCRIPTION: ACPI Bit Register write function.
  *
@@ -461,10 +463,11 @@
  *
  * FUNCTION:    acpi_hw_register_read
  *
- * PARAMETERS:  use_lock               - Mutex hw access.
- *              register_id            - register_iD + Offset.
+ * PARAMETERS:  use_lock            - Mutex hw access
+ *              register_id         - register_iD + Offset
+ *              return_value        - Value that was read from the register
  *
- * RETURN:      Value read or written.
+ * RETURN:      Status and the value read.
  *
  * DESCRIPTION: Acpi register read function.  Registers are read at the
  *              given offset.
@@ -572,10 +575,11 @@
  *
  * FUNCTION:    acpi_hw_register_write
  *
- * PARAMETERS:  use_lock               - Mutex hw access.
- *              register_id            - register_iD + Offset.
+ * PARAMETERS:  use_lock            - Mutex hw access
+ *              register_id         - register_iD + Offset
+ *              Value               - The value to write
  *
- * RETURN:      Value read or written.
+ * RETURN:      Status
  *
  * DESCRIPTION: Acpi register Write function.  Registers are written at the
  *              given offset.
@@ -691,11 +695,11 @@
  *
  * PARAMETERS:  Width               - 8, 16, or 32
  *              Value               - Where the value is returned
- *              Register            - GAS register structure
+ *              Reg                 - GAS register structure
  *
  * RETURN:      Status
  *
- * DESCRIPTION: Read from either memory, IO, or PCI config space.
+ * DESCRIPTION: Read from either memory or IO space.
  *
  ******************************************************************************/
 
@@ -705,8 +709,6 @@
 	u32                             *value,
 	struct acpi_generic_address     *reg)
 {
-	struct acpi_pci_id              pci_id;
-	u16                             pci_register;
 	acpi_status                     status;
 
 
@@ -725,8 +727,8 @@
 	*value = 0;
 
 	/*
-	 * Three address spaces supported:
-	 * Memory, IO, or PCI_Config.
+	 * Two address spaces supported: Memory or IO.
+	 * PCI_Config is not supported here because the GAS struct is insufficient
 	 */
 	switch (reg->address_space_id) {
 	case ACPI_ADR_SPACE_SYSTEM_MEMORY:
@@ -744,19 +746,6 @@
 		break;
 
 
-	case ACPI_ADR_SPACE_PCI_CONFIG:
-
-		pci_id.segment = 0;
-		pci_id.bus     = 0;
-		pci_id.device  = ACPI_PCI_DEVICE (reg->address);
-		pci_id.function = ACPI_PCI_FUNCTION (reg->address);
-		pci_register   = (u16) ACPI_PCI_REGISTER (reg->address);
-
-		status = acpi_os_read_pci_configuration (&pci_id, pci_register,
-				 value, width);
-		break;
-
-
 	default:
 		ACPI_DEBUG_PRINT ((ACPI_DB_ERROR,
 			"Unsupported address space: %X\n", reg->address_space_id));
@@ -778,11 +767,11 @@
  *
  * PARAMETERS:  Width               - 8, 16, or 32
  *              Value               - To be written
- *              Register            - GAS register structure
+ *              Reg                 - GAS register structure
  *
  * RETURN:      Status
  *
- * DESCRIPTION: Write to either memory, IO, or PCI config space.
+ * DESCRIPTION: Write to either memory or IO space.
  *
  ******************************************************************************/
 
@@ -792,8 +781,6 @@
 	u32                             value,
 	struct acpi_generic_address     *reg)
 {
-	struct acpi_pci_id              pci_id;
-	u16                             pci_register;
 	acpi_status                     status;
 
 
@@ -811,8 +798,8 @@
 	}
 
 	/*
-	 * Three address spaces supported:
-	 * Memory, IO, or PCI_Config.
+	 * Two address spaces supported: Memory or IO.
+	 * PCI_Config is not supported here because the GAS struct is insufficient
 	 */
 	switch (reg->address_space_id) {
 	case ACPI_ADR_SPACE_SYSTEM_MEMORY:
@@ -827,19 +814,6 @@
 
 		status = acpi_os_write_port ((acpi_io_address) reg->address,
 				 value, width);
-		break;
-
-
-	case ACPI_ADR_SPACE_PCI_CONFIG:
-
-		pci_id.segment = 0;
-		pci_id.bus     = 0;
-		pci_id.device  = ACPI_PCI_DEVICE (reg->address);
-		pci_id.function = ACPI_PCI_FUNCTION (reg->address);
-		pci_register   = (u16) ACPI_PCI_REGISTER (reg->address);
-
-		status = acpi_os_write_pci_configuration (&pci_id, pci_register,
-				 (acpi_integer) value, width);
 		break;
 
 
diff -Nru a/drivers/acpi/hardware/hwtimer.c b/drivers/acpi/hardware/hwtimer.c
--- a/drivers/acpi/hardware/hwtimer.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/hardware/hwtimer.c	2004-08-25 19:22:27 -07:00
@@ -52,11 +52,11 @@
  *
  * FUNCTION:    acpi_get_timer_resolution
  *
- * PARAMETERS:  none
+ * PARAMETERS:  Resolution          - Where the resolution is returned
  *
- * RETURN:      Number of bits of resolution in the PM Timer (24 or 32).
+ * RETURN:      Status and timer resolution
  *
- * DESCRIPTION: Obtains resolution of the ACPI PM Timer.
+ * DESCRIPTION: Obtains resolution of the ACPI PM Timer (24 or 32 bits).
  *
  ******************************************************************************/
 
@@ -86,11 +86,11 @@
  *
  * FUNCTION:    acpi_get_timer
  *
- * PARAMETERS:  none
+ * PARAMETERS:  Ticks               - Where the timer value is returned
  *
- * RETURN:      Current value of the ACPI PM Timer (in ticks).
+ * RETURN:      Status and current ticks
  *
- * DESCRIPTION: Obtains current value of ACPI PM Timer.
+ * DESCRIPTION: Obtains current value of ACPI PM Timer (in ticks).
  *
  ******************************************************************************/
 
@@ -118,11 +118,11 @@
  *
  * FUNCTION:    acpi_get_timer_duration
  *
- * PARAMETERS:  start_ticks
- *              end_ticks
- *              time_elapsed
+ * PARAMETERS:  start_ticks         - Starting timestamp
+ *              end_ticks           - End timestamp
+ *              time_elapsed        - Where the elapsed time is returned
  *
- * RETURN:      time_elapsed
+ * RETURN:      Status and time_elapsed
  *
  * DESCRIPTION: Computes the time elapsed (in microseconds) between two
  *              PM Timer time stamps, taking into account the possibility of
@@ -136,7 +136,7 @@
  *              Note that this function accommodates only a single timer
  *              rollover.  Thus for 24-bit timers, this function should only
  *              be used for calculating durations less than ~4.6 seconds
- *              (~20 minutes for 32-bit timers) -- calculations below
+ *              (~20 minutes for 32-bit timers) -- calculations below:
  *
  *              2**24 Ticks / 3,600,000 Ticks/Sec = 4.66 sec
  *              2**32 Ticks / 3,600,000 Ticks/Sec = 1193 sec or 19.88 minutes
@@ -164,7 +164,6 @@
 
 	/*
 	 * Compute Tick Delta:
-	 * -------------------
 	 * Handle (max one) timer rollovers on 24- versus 32-bit timers.
 	 */
 	if (start_ticks < end_ticks) {
@@ -188,10 +187,7 @@
 	}
 
 	/*
-	 * Compute Duration:
-	 * -----------------
-	 *
-	 * Requires a 64-bit divide:
+	 * Compute Duration (Requires a 64-bit divide):
 	 *
 	 * time_elapsed = (delta_ticks * 1000000) / PM_TIMER_FREQUENCY;
 	 */
diff -Nru a/drivers/acpi/numa.c b/drivers/acpi/numa.c
--- a/drivers/acpi/numa.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/numa.c	2004-08-25 19:22:27 -07:00
@@ -94,8 +94,6 @@
 	/* downcast just for %llu vs %lu for i386/ia64  */
 	localities = (u32) slit->localities;
 
-	printk(KERN_INFO PREFIX "SLIT localities %ux%u\n", localities, localities);
-
 	acpi_numa_slit_init(slit);
 
 	return 0;
@@ -147,8 +145,6 @@
 		return -EINVAL;
 
 	srat = (struct acpi_table_srat *) __va(phys_addr);
-
-	printk(KERN_INFO PREFIX "SRAT revision %d\n", srat->table_revision);
 
 	return 0;
 }
diff -Nru a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
--- a/drivers/acpi/pci_link.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/pci_link.c	2004-08-25 19:22:27 -07:00
@@ -448,7 +448,7 @@
 #define PIRQ_PENALTY_ISA_USED		(16*16*16*16*16)
 #define PIRQ_PENALTY_ISA_ALWAYS		(16*16*16*16*16*16)
 
-static int __initdata acpi_irq_penalty[ACPI_MAX_IRQS] = {
+static int acpi_irq_penalty[ACPI_MAX_IRQS] = {
 	PIRQ_PENALTY_ISA_ALWAYS,	/* IRQ0 timer */
 	PIRQ_PENALTY_ISA_ALWAYS,	/* IRQ1 keyboard */
 	PIRQ_PENALTY_ISA_ALWAYS,	/* IRQ2 cascade */
@@ -468,7 +468,7 @@
 			/* >IRQ15 */
 };
 
-int
+int __init
 acpi_irq_penalty_init(void)
 {
 	struct list_head	*node = NULL;
diff -Nru a/drivers/acpi/tables.c b/drivers/acpi/tables.c
--- a/drivers/acpi/tables.c	2004-08-25 19:22:27 -07:00
+++ b/drivers/acpi/tables.c	2004-08-25 19:22:27 -07:00
@@ -101,7 +101,7 @@
 	else
 		name = header->signature;
 
-	printk(KERN_INFO PREFIX "%.4s (v%3.3d %6.6s %8.8s 0x%08x %.4s 0x%08x) @ 0x%p\n",
+	printk(KERN_DEBUG PREFIX "%.4s (v%3.3d %6.6s %8.8s 0x%08x %.4s 0x%08x) @ 0x%p\n",
 		name, header->revision, header->oem_id,
 		header->oem_table_id, header->oem_revision,
 		header->asl_compiler_id, header->asl_compiler_revision,
@@ -587,7 +587,7 @@
 		return -ENODEV;
 	}
 
-	printk(KERN_INFO PREFIX "RSDP (v%3.3d %6.6s                                    ) @ 0x%p\n",
+	printk(KERN_DEBUG PREFIX "RSDP (v%3.3d %6.6s                                ) @ 0x%p\n",
 		rsdp->revision, rsdp->oem_id, (void *) rsdp_phys);
 
 	if (rsdp->revision < 2)
diff -Nru a/include/acpi/acconfig.h b/include/acpi/acconfig.h
--- a/include/acpi/acconfig.h	2004-08-25 19:22:27 -07:00
+++ b/include/acpi/acconfig.h	2004-08-25 19:22:27 -07:00
@@ -64,7 +64,7 @@
 
 /* Version string */
 
-#define ACPI_CA_VERSION                 0x20040715
+#define ACPI_CA_VERSION                 0x20040816
 
 /*
  * OS name, used for the _OS object.  The _OS object is essentially obsolete,
diff -Nru a/include/acpi/acexcep.h b/include/acpi/acexcep.h
--- a/include/acpi/acexcep.h	2004-08-25 19:22:27 -07:00
+++ b/include/acpi/acexcep.h	2004-08-25 19:22:27 -07:00
@@ -166,7 +166,7 @@
 #define AE_AML_CIRCULAR_REFERENCE       (acpi_status) (0x0020 | AE_CODE_AML)
 #define AE_AML_BAD_RESOURCE_LENGTH      (acpi_status) (0x0021 | AE_CODE_AML)
 
-#define AE_CODE_AML_MAX                 0x0020
+#define AE_CODE_AML_MAX                 0x0021
 
 /*
  * Internal exceptions used for control
diff -Nru a/include/acpi/acglobal.h b/include/acpi/acglobal.h
--- a/include/acpi/acglobal.h	2004-08-25 19:22:27 -07:00
+++ b/include/acpi/acglobal.h	2004-08-25 19:22:27 -07:00
@@ -94,7 +94,7 @@
  * interpreter strictly follows the ACPI specification.  Setting to TRUE
  * allows the interpreter to forgive certain bad AML constructs.
  */
-ACPI_EXTERN u8       ACPI_INIT_GLOBAL (acpi_gbl_enable_interpeter_slack, FALSE);
+ACPI_EXTERN u8       ACPI_INIT_GLOBAL (acpi_gbl_enable_interpreter_slack, FALSE);
 
 /*
  * Automatically serialize ALL control methods? Default is FALSE, meaning
diff -Nru a/include/acpi/acmacros.h b/include/acpi/acmacros.h
--- a/include/acpi/acmacros.h	2004-08-25 19:22:27 -07:00
+++ b/include/acpi/acmacros.h	2004-08-25 19:22:27 -07:00
@@ -364,24 +364,6 @@
 
 #define ACPI_IS_OCTAL_DIGIT(d)               (((char)(d) >= '0') && ((char)(d) <= '7'))
 
-/* Macros for GAS addressing */
-
-#if ACPI_MACHINE_WIDTH != 16
-
-#define ACPI_PCI_DEVICE(a)              (u16) ((ACPI_HIDWORD ((a))) & 0x0000FFFF)
-#define ACPI_PCI_FUNCTION(a)            (u16) ((ACPI_LODWORD ((a))) >> 16)
-#define ACPI_PCI_REGISTER(a)            (u16) ((ACPI_LODWORD ((a))) & 0x0000FFFF)
-
-#else
-
-/* No support for GAS and PCI IDs in 16-bit mode  */
-
-#define ACPI_PCI_FUNCTION(a)            (u16) ((a) & 0xFFFF0000)
-#define ACPI_PCI_DEVICE(a)              (u16) ((a) & 0x0000FFFF)
-#define ACPI_PCI_REGISTER(a)            (u16) ((a) & 0x0000FFFF)
-
-#endif
-
 
 /* Bitfields within ACPI registers */
 
diff -Nru a/include/asm-x86_64/acpi.h b/include/asm-x86_64/acpi.h
--- a/include/asm-x86_64/acpi.h	2004-08-25 19:22:27 -07:00
+++ b/include/asm-x86_64/acpi.h	2004-08-25 19:22:27 -07:00
@@ -164,6 +164,10 @@
 extern int acpi_disabled;
 extern int acpi_pci_disabled;
 
+#define dmi_broken (0)
+#define BROKEN_ACPI_Sx		0x0001
+#define BROKEN_INIT_AFTER_S1	0x0002
+
 extern u8 x86_acpiid_to_apicid[];
 
 #endif /*__KERNEL__*/
