* HID), this bit will be moved. A global variable asus_info contains
         * the DSDT header.
         */
-       status = acpi_get_table(ACPI_TABLE_DSDT, 1, &dsdt);
+       status = acpi_get_table(ACPI_TABLE_ID_DSDT, 1, &dsdt);
        if (ACPI_FAILURE(status))
                printk(KERN_WARNING "  Couldn't get the DSDT table header\n");
        else
 
        /*
         * Get a separate copy of the FADT for use by other drivers.
         */
-       status = acpi_get_table(ACPI_TABLE_FADT, 1, &buffer);
+       status = acpi_get_table(ACPI_TABLE_ID_FADT, 1, &buffer);
        if (ACPI_FAILURE(status)) {
                printk(KERN_ERR PREFIX "Unable to get the FADT\n");
                goto error0;
 
        union acpi_operand_object *second_desc = NULL;
        u32 flags;
 
-       ACPI_FUNCTION_TRACE("ds_create_buffer_field");
+       ACPI_FUNCTION_TRACE(ds_create_buffer_field);
 
        /* Get the name_string argument */
 
        acpi_status status;
        acpi_integer position;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_get_field_names", info);
+       ACPI_FUNCTION_TRACE_PTR(ds_get_field_names, info);
 
        /* First field starts at bit zero */
 
        union acpi_parse_object *arg;
        struct acpi_create_field_info info;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_create_field", op);
+       ACPI_FUNCTION_TRACE_PTR(ds_create_field, op);
 
        /* First arg is the name of the parent op_region (must already exist) */
 
        struct acpi_namespace_node *node;
        u8 type = 0;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_init_field_objects", op);
+       ACPI_FUNCTION_TRACE_PTR(ds_init_field_objects, op);
 
        switch (walk_state->opcode) {
        case AML_FIELD_OP:
        union acpi_parse_object *arg;
        struct acpi_create_field_info info;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_create_bank_field", op);
+       ACPI_FUNCTION_TRACE_PTR(ds_create_bank_field, op);
 
        /* First arg is the name of the parent op_region (must already exist) */
 
        union acpi_parse_object *arg;
        struct acpi_create_field_info info;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_create_index_field", op);
+       ACPI_FUNCTION_TRACE_PTR(ds_create_index_field, op);
 
        /* First arg is the name of the Index register (must already exist) */
 
 
  *
  * RETURN:      Status
  *
- * DESCRIPTION: Walk the namespace starting at "start_node" and perform any
+ * DESCRIPTION: Walk the namespace starting at "StartNode" and perform any
  *              necessary initialization on the objects found therein
  *
  ******************************************************************************/
        acpi_status status;
        struct acpi_init_walk_info info;
 
-       ACPI_FUNCTION_TRACE("ds_initialize_objects");
+       ACPI_FUNCTION_TRACE(ds_initialize_objects);
 
        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
                          "**** Starting initialization of namespace objects ****\n"));
        status = acpi_walk_namespace(ACPI_TYPE_ANY, start_node, ACPI_UINT32_MAX,
                                     acpi_ds_init_one_object, &info, NULL);
        if (ACPI_FAILURE(status)) {
-               ACPI_EXCEPTION((AE_INFO, status, "During walk_namespace"));
+               ACPI_EXCEPTION((AE_INFO, status, "During WalkNamespace"));
        }
 
        ACPI_DEBUG_PRINT_RAW((ACPI_DB_INIT,
 
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_begin_method_execution", method_node);
+       ACPI_FUNCTION_TRACE_PTR(ds_begin_method_execution, method_node);
 
        if (!method_node) {
                return_ACPI_STATUS(AE_NULL_ENTRY);
 
                /*
                 * Get a unit from the method semaphore. This releases the
-                * interpreter if we block
+                * interpreter if we block (then reacquires it)
                 */
                status =
                    acpi_ex_system_wait_semaphore(obj_desc->method.semaphore,
                                                  ACPI_WAIT_FOREVER);
+               if (ACPI_FAILURE(status)) {
+                       return_ACPI_STATUS(status);
+               }
        }
 
        /*
        if (!obj_desc->method.owner_id) {
                status = acpi_ut_allocate_owner_id(&obj_desc->method.owner_id);
                if (ACPI_FAILURE(status)) {
-                       return_ACPI_STATUS(status);
+                       goto cleanup;
                }
        }
 
         */
        obj_desc->method.thread_count++;
        return_ACPI_STATUS(status);
+
+      cleanup:
+       /* On error, must signal the method semaphore if present */
+
+       if (obj_desc->method.semaphore) {
+               (void)acpi_os_signal_semaphore(obj_desc->method.semaphore, 1);
+       }
+       return_ACPI_STATUS(status);
 }
 
 /*******************************************************************************
        struct acpi_parameter_info info;
        u32 i;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_call_control_method", this_walk_state);
+       ACPI_FUNCTION_TRACE_PTR(ds_call_control_method, this_walk_state);
 
        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
                          "Execute method %p, currentstate=%p\n",
                return_ACPI_STATUS(AE_NULL_OBJECT);
        }
 
-       /* Init for new method, wait on concurrency semaphore */
+       /* Init for new method, possibly wait on concurrency semaphore */
 
        status = acpi_ds_begin_method_execution(method_node, obj_desc,
                                                this_walk_state->method_node);
        if (ACPI_FAILURE(status)) {
-               goto cleanup;
+               return_ACPI_STATUS(status);
        }
 
+       /*
+        * 1) Parse the method. All "normal" methods are parsed for each execution.
+        * Internal methods (_OSI, etc.) do not require parsing.
+        */
        if (!(obj_desc->method.method_flags & AML_METHOD_INTERNAL_ONLY)) {
 
-               /* 1) Parse: Create a new walk state for the preempting walk */
+               /* Create a new walk state for the parse */
 
                next_walk_state =
                    acpi_ds_create_walk_state(obj_desc->method.owner_id, op,
                                              obj_desc, NULL);
                if (!next_walk_state) {
-                       return_ACPI_STATUS(AE_NO_MEMORY);
+                       status = AE_NO_MEMORY;
+                       goto cleanup;
                }
 
-               /* Create and init a Root Node */
+               /* Create and init a parse tree root */
 
                op = acpi_ps_create_scope_op();
                if (!op) {
                                               obj_desc->method.aml_length,
                                               NULL, 1);
                if (ACPI_FAILURE(status)) {
-                       acpi_ds_delete_walk_state(next_walk_state);
+                       acpi_ps_delete_parse_tree(op);
                        goto cleanup;
                }
 
-               /* Begin AML parse */
+               /* Begin AML parse (deletes next_walk_state) */
 
                status = acpi_ps_parse_aml(next_walk_state);
                acpi_ps_delete_parse_tree(op);
+               if (ACPI_FAILURE(status)) {
+                       goto cleanup;
+               }
        }
 
-       /* 2) Execute: Create a new state for the preempting walk */
+       /* 2) Begin method execution. Create a new walk state */
 
        next_walk_state = acpi_ds_create_walk_state(obj_desc->method.owner_id,
                                                    NULL, obj_desc, thread);
                status = AE_NO_MEMORY;
                goto cleanup;
        }
+
        /*
         * The resolved arguments were put on the previous walk state's operand
         * stack. Operands on the previous walk state stack always
                          "Starting nested execution, newstate=%p\n",
                          next_walk_state));
 
+       /* Invoke an internal method if necessary */
+
        if (obj_desc->method.method_flags & AML_METHOD_INTERNAL_ONLY) {
                status = obj_desc->method.implementation(next_walk_state);
        }
        return_ACPI_STATUS(status);
 
       cleanup:
-       /* Decrement the thread count on the method parse tree */
 
-       if (next_walk_state && (next_walk_state->method_desc)) {
-               next_walk_state->method_desc->method.thread_count--;
-       }
+       /* On error, we must terminate the method properly */
 
-       /* On error, we must delete the new walk state */
+       acpi_ds_terminate_control_method(obj_desc, next_walk_state);
+       if (next_walk_state) {
+               acpi_ds_delete_walk_state(next_walk_state);
+       }
 
-       acpi_ds_terminate_control_method(next_walk_state);
-       acpi_ds_delete_walk_state(next_walk_state);
        return_ACPI_STATUS(status);
 }
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_restart_control_method", walk_state);
+       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",
+                         "****Restart [%4.4s] Op %p ReturnValueFromCallee %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",
+                         "    ReturnFromThisMethodUsed?=%X ResStack %p Walk %p\n",
                          walk_state->return_used,
                          walk_state->results, walk_state));
 
  *
  * FUNCTION:    acpi_ds_terminate_control_method
  *
- * PARAMETERS:  walk_state          - State of the method
+ * PARAMETERS:  method_desc         - Method object
+ *              walk_state          - State associated with the method
  *
  * RETURN:      None
  *
  *
  ******************************************************************************/
 
-void acpi_ds_terminate_control_method(struct acpi_walk_state *walk_state)
+void
+acpi_ds_terminate_control_method(union acpi_operand_object *method_desc,
+                                struct acpi_walk_state *walk_state)
 {
-       union acpi_operand_object *obj_desc;
        struct acpi_namespace_node *method_node;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_terminate_control_method", walk_state);
-
-       if (!walk_state) {
-               return_VOID;
-       }
+       ACPI_FUNCTION_TRACE_PTR(ds_terminate_control_method, walk_state);
 
-       /* The current method object was saved in the walk state */
+       /* method_desc is required, walk_state is optional */
 
-       obj_desc = walk_state->method_desc;
-       if (!obj_desc) {
+       if (!method_desc) {
                return_VOID;
        }
 
-       /* Delete all arguments and locals */
+       if (walk_state) {
 
-       acpi_ds_method_data_delete_all(walk_state);
+               /* Delete all arguments and locals */
+
+               acpi_ds_method_data_delete_all(walk_state);
+       }
 
        /*
         * Lock the parser while we terminate this method.
 
        /* Signal completion of the execution of this method if necessary */
 
-       if (walk_state->method_desc->method.semaphore) {
+       if (method_desc->method.semaphore) {
                status =
-                   acpi_os_signal_semaphore(walk_state->method_desc->method.
-                                            semaphore, 1);
+                   acpi_os_signal_semaphore(method_desc->method.semaphore, 1);
                if (ACPI_FAILURE(status)) {
-                       ACPI_ERROR((AE_INFO,
-                                   "Could not signal method semaphore"));
 
-                       /* Ignore error and continue cleanup */
+                       /* Ignore error and continue */
+
+                       ACPI_EXCEPTION((AE_INFO, status,
+                                       "Could not signal method semaphore"));
                }
        }
 
-       /*
-        * There are no more threads executing this method.  Perform
-        * additional cleanup.
-        *
-        * The method Node is stored in the walk state
-        */
-       method_node = walk_state->method_node;
+       if (walk_state) {
+               /*
+                * Delete any objects created by this method during execution.
+                * The method Node is stored in the walk state
+                */
+               method_node = walk_state->method_node;
 
-       /* Lock namespace for possible update */
+               /* Lock namespace for possible update */
 
-       status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE);
-       if (ACPI_FAILURE(status)) {
-               goto exit;
-       }
+               status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE);
+               if (ACPI_FAILURE(status)) {
+                       goto exit;
+               }
 
-       /*
-        * Delete any namespace entries created immediately underneath
-        * the method
-        */
-       if (method_node && method_node->child) {
-               acpi_ns_delete_namespace_subtree(method_node);
+               /*
+                * Delete any namespace entries created immediately underneath
+                * the method
+                */
+               if (method_node && method_node->child) {
+                       acpi_ns_delete_namespace_subtree(method_node);
+               }
+
+               /*
+                * Delete any namespace entries created anywhere else within
+                * the namespace by the execution of this method
+                */
+               acpi_ns_delete_namespace_by_owner(method_desc->method.owner_id);
+               status = acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
        }
 
-       /*
-        * Delete any namespace entries created anywhere else within
-        * the namespace by the execution of this method
-        */
-       acpi_ns_delete_namespace_by_owner(walk_state->method_desc->method.
-                                         owner_id);
-       status = acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
+       /* Decrement the thread count on the method */
+
+       if (method_desc->method.thread_count) {
+               method_desc->method.thread_count--;
+       } else {
+               ACPI_ERROR((AE_INFO, "Invalid zero thread count in method"));
+       }
 
        /* Are there any other threads currently executing this method? */
 
-       if (walk_state->method_desc->method.thread_count) {
+       if (method_desc->method.thread_count) {
                /*
                 * Additional threads. Do not release the owner_id in this case,
                 * we immediately reuse it for the next thread executing this method
                 */
                ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
                                  "*** Completed execution of one thread, %d threads remaining\n",
-                                 walk_state->method_desc->method.
-                                 thread_count));
+                                 method_desc->method.thread_count));
        } else {
                /* This is the only executing thread for this method */
 
                 * This code is here because we must wait until the last thread exits
                 * before creating the synchronization semaphore.
                 */
-               if ((walk_state->method_desc->method.concurrency == 1) &&
-                   (!walk_state->method_desc->method.semaphore)) {
+               if ((method_desc->method.concurrency == 1) &&
+                   (!method_desc->method.semaphore)) {
                        status = acpi_os_create_semaphore(1, 1,
-                                                         &walk_state->
-                                                         method_desc->method.
+                                                         &method_desc->method.
                                                          semaphore);
                }
 
                /* No more threads, we can free the owner_id */
 
-               acpi_ut_release_owner_id(&walk_state->method_desc->method.
-                                        owner_id);
+               acpi_ut_release_owner_id(&method_desc->method.owner_id);
        }
 
       exit:
        union acpi_parse_object *op;
        struct acpi_walk_state *walk_state;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_parse_method", node);
+       ACPI_FUNCTION_TRACE_PTR(ds_parse_method, node);
 
        /* Parameter Validation */
 
        }
 
        ACPI_DEBUG_PRINT((ACPI_DB_PARSE,
-                         "**** Parsing [%4.4s] **** named_obj=%p\n",
+                         "**** Parsing [%4.4s] **** NamedObj=%p\n",
                          acpi_ut_get_node_name(node), node));
 
        /* Extract the method object from the method Node */
        }
 
        ACPI_DEBUG_PRINT((ACPI_DB_PARSE,
-                         "**** [%4.4s] Parsed **** named_obj=%p Op=%p\n",
+                         "**** [%4.4s] Parsed **** NamedObj=%p Op=%p\n",
                          acpi_ut_get_node_name(node), node, op));
 
        /*
 
 {
        u32 i;
 
-       ACPI_FUNCTION_TRACE("ds_method_data_init");
+       ACPI_FUNCTION_TRACE(ds_method_data_init);
 
        /* Init the method arguments */
 
 {
        u32 index;
 
-       ACPI_FUNCTION_TRACE("ds_method_data_delete_all");
+       ACPI_FUNCTION_TRACE(ds_method_data_delete_all);
 
        /* Detach the locals */
 
        acpi_status status;
        u32 index = 0;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_method_data_init_args", params);
+       ACPI_FUNCTION_TRACE_PTR(ds_method_data_init_args, params);
 
        if (!params) {
                ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
                             struct acpi_walk_state *walk_state,
                             struct acpi_namespace_node **node)
 {
-       ACPI_FUNCTION_TRACE("ds_method_data_get_node");
+       ACPI_FUNCTION_TRACE(ds_method_data_get_node);
 
        /*
         * Method Locals and Arguments are supported
        acpi_status status;
        struct acpi_namespace_node *node;
 
-       ACPI_FUNCTION_TRACE("ds_method_data_set_value");
+       ACPI_FUNCTION_TRACE(ds_method_data_set_value);
 
        ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                         "new_obj %p Opcode %X, Refs=%d [%s]\n", object,
+                         "NewObj %p Opcode %X, Refs=%d [%s]\n", object,
                          opcode, object->common.reference_count,
                          acpi_ut_get_type_name(object->common.type)));
 
        struct acpi_namespace_node *node;
        union acpi_operand_object *object;
 
-       ACPI_FUNCTION_TRACE("ds_method_data_get_value");
+       ACPI_FUNCTION_TRACE(ds_method_data_get_value);
 
        /* Validate the object descriptor */
 
        struct acpi_namespace_node *node;
        union acpi_operand_object *object;
 
-       ACPI_FUNCTION_TRACE("ds_method_data_delete_value");
+       ACPI_FUNCTION_TRACE(ds_method_data_delete_value);
 
        /* Get the namespace node for the arg/local */
 
        union acpi_operand_object *current_obj_desc;
        union acpi_operand_object *new_obj_desc;
 
-       ACPI_FUNCTION_TRACE("ds_store_object_to_local");
+       ACPI_FUNCTION_TRACE(ds_store_object_to_local);
        ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Opcode=%X Index=%d Obj=%p\n",
                          opcode, index, obj_desc));
 
                            && (current_obj_desc->reference.opcode ==
                                AML_REF_OF_OP)) {
                                ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                                                 "Arg (%p) is an obj_ref(Node), storing in node %p\n",
+                                                 "Arg (%p) is an ObjRef(Node), storing in node %p\n",
                                                  new_obj_desc,
                                                  current_obj_desc));
 
        struct acpi_namespace_node *node;
        union acpi_operand_object *object;
 
-       ACPI_FUNCTION_TRACE("ds_method_data_get_type");
+       ACPI_FUNCTION_TRACE(ds_method_data_get_type);
 
        /* Get the namespace node for the arg/local */
 
 
        union acpi_operand_object *obj_desc;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ds_build_internal_object");
+       ACPI_FUNCTION_TRACE(ds_build_internal_object);
 
        *obj_desc_ptr = NULL;
        if (op->common.aml_opcode == AML_INT_NAMEPATH_OP) {
        union acpi_parse_object *byte_list;
        u32 byte_list_length = 0;
 
-       ACPI_FUNCTION_TRACE("ds_build_internal_buffer_obj");
+       ACPI_FUNCTION_TRACE(ds_build_internal_buffer_obj);
 
        /*
         * If we are evaluating a Named buffer object "Name (xxxx, Buffer)".
        acpi_status status = AE_OK;
        acpi_native_uint i;
 
-       ACPI_FUNCTION_TRACE("ds_build_internal_package_obj");
+       ACPI_FUNCTION_TRACE(ds_build_internal_package_obj);
 
        /* Find the parent of a possibly nested package */
 
        acpi_status status;
        union acpi_operand_object *obj_desc;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_create_node", op);
+       ACPI_FUNCTION_TRACE_PTR(ds_create_node, op);
 
        /*
         * Because of the execution pass through the non-control-method
        union acpi_operand_object *obj_desc;
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ds_init_object_from_op");
+       ACPI_FUNCTION_TRACE(ds_init_object_from_op);
 
        obj_desc = *ret_obj_desc;
        op_info = acpi_ps_get_opcode_info(opcode);
 
        union acpi_parse_object *op;
        struct acpi_walk_state *walk_state;
 
-       ACPI_FUNCTION_TRACE("ds_execute_arguments");
+       ACPI_FUNCTION_TRACE(ds_execute_arguments);
 
        /*
         * Allocate a new parser op to be the root of the parsed tree
        struct acpi_namespace_node *node;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_get_buffer_field_arguments", obj_desc);
+       ACPI_FUNCTION_TRACE_PTR(ds_get_buffer_field_arguments, obj_desc);
 
        if (obj_desc->common.flags & AOPOBJ_DATA_VALID) {
                return_ACPI_STATUS(AE_OK);
 
        ACPI_DEBUG_EXEC(acpi_ut_display_init_pathname
                        (ACPI_TYPE_BUFFER_FIELD, node, NULL));
-       ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "[%4.4s] buffer_field Arg Init\n",
+       ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "[%4.4s] BufferField Arg Init\n",
                          acpi_ut_get_node_name(node)));
 
        /* Execute the AML code for the term_arg arguments */
        struct acpi_namespace_node *node;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_get_buffer_arguments", obj_desc);
+       ACPI_FUNCTION_TRACE_PTR(ds_get_buffer_arguments, obj_desc);
 
        if (obj_desc->common.flags & AOPOBJ_DATA_VALID) {
                return_ACPI_STATUS(AE_OK);
        struct acpi_namespace_node *node;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_get_package_arguments", obj_desc);
+       ACPI_FUNCTION_TRACE_PTR(ds_get_package_arguments, obj_desc);
 
        if (obj_desc->common.flags & AOPOBJ_DATA_VALID) {
                return_ACPI_STATUS(AE_OK);
        acpi_status status;
        union acpi_operand_object *extra_desc;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_get_region_arguments", obj_desc);
+       ACPI_FUNCTION_TRACE_PTR(ds_get_region_arguments, obj_desc);
 
        if (obj_desc->region.flags & AOPOBJ_DATA_VALID) {
                return_ACPI_STATUS(AE_OK);
        ACPI_DEBUG_EXEC(acpi_ut_display_init_pathname
                        (ACPI_TYPE_REGION, node, NULL));
 
-       ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                         "[%4.4s] op_region Arg Init at AML %p\n",
+       ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "[%4.4s] OpRegion Arg Init at AML %p\n",
                          acpi_ut_get_node_name(node),
                          extra_desc->extra.aml_start));
 
        status = acpi_ds_execute_arguments(node, acpi_ns_get_parent_node(node),
                                           extra_desc->extra.aml_length,
                                           extra_desc->extra.aml_start);
+       if (ACPI_FAILURE(status)) {
+               return_ACPI_STATUS(status);
+       }
+
+       /* Validate the region address/length via the host OS */
+
+       status = acpi_os_validate_address(obj_desc->region.space_id,
+                                         obj_desc->region.address,
+                                         (acpi_size) obj_desc->region.length);
+       if (ACPI_FAILURE(status)) {
+               /*
+                * Invalid address/length. We will emit an error message and mark
+                * the region as invalid, so that it will cause an additional error if
+                * it is ever used. Then return AE_OK.
+                */
+               ACPI_EXCEPTION((AE_INFO, status,
+                               "During address validation of OpRegion [%4.4s]",
+                               node->name.ascii));
+               obj_desc->common.flags |= AOPOBJ_INVALID;
+               status = AE_OK;
+       }
+
        return_ACPI_STATUS(status);
 }
 
        u8 field_flags;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_init_buffer_field", obj_desc);
+       ACPI_FUNCTION_TRACE_PTR(ds_init_buffer_field, obj_desc);
 
        /* Host object must be a Buffer */
 
 
                if (bit_count == 0) {
                        ACPI_ERROR((AE_INFO,
-                                   "Attempt to create_field of length zero"));
+                                   "Attempt to CreateField of length zero"));
                        status = AE_AML_OPERAND_VALUE;
                        goto cleanup;
                }
        struct acpi_namespace_node *node;
        union acpi_parse_object *next_op;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_eval_buffer_field_operands", op);
+       ACPI_FUNCTION_TRACE_PTR(ds_eval_buffer_field_operands, op);
 
        /*
         * This is where we evaluate the address and length fields of the
        ACPI_DUMP_OPERANDS(ACPI_WALK_OPERANDS, ACPI_IMODE_EXECUTE,
                           acpi_ps_get_opcode_name(op->common.aml_opcode),
                           walk_state->num_operands,
-                          "after acpi_ex_resolve_operands");
+                          "after AcpiExResolveOperands");
 
        if (ACPI_FAILURE(status)) {
                ACPI_ERROR((AE_INFO, "(%s) bad operand(s) (%X)",
        struct acpi_namespace_node *node;
        union acpi_parse_object *next_op;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_eval_region_operands", op);
+       ACPI_FUNCTION_TRACE_PTR(ds_eval_region_operands, op);
 
        /*
         * This is where we evaluate the address and length fields of the
 
        ACPI_DUMP_OPERANDS(ACPI_WALK_OPERANDS, ACPI_IMODE_EXECUTE,
                           acpi_ps_get_opcode_name(op->common.aml_opcode),
-                          1, "after acpi_ex_resolve_operands");
+                          1, "after AcpiExResolveOperands");
 
        obj_desc = acpi_ns_get_attached_object(node);
        if (!obj_desc) {
            operand_desc->integer.value;
        acpi_ut_remove_reference(operand_desc);
 
-       ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "rgn_obj %p Addr %8.8X%8.8X Len %X\n",
+       ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "RgnObj %p Addr %8.8X%8.8X Len %X\n",
                          obj_desc,
                          ACPI_FORMAT_UINT64(obj_desc->region.address),
                          obj_desc->region.length));
        union acpi_operand_object *arg_desc;
        u32 length;
 
-       ACPI_FUNCTION_TRACE("ds_eval_data_object_operands");
+       ACPI_FUNCTION_TRACE(ds_eval_data_object_operands);
 
        /* The first operand (for all of these data objects) is the length */
 
        acpi_status status = AE_OK;
        union acpi_generic_state *control_state;
 
-       ACPI_FUNCTION_NAME("ds_exec_begin_control_op");
+       ACPI_FUNCTION_NAME(ds_exec_begin_control_op);
 
        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, "Op=%p Opcode=%2.2X State=%p\n", op,
                          op->common.aml_opcode, walk_state));
        acpi_status status = AE_OK;
        union acpi_generic_state *control_state;
 
-       ACPI_FUNCTION_NAME("ds_exec_end_control_op");
+       ACPI_FUNCTION_NAME(ds_exec_end_control_op);
 
        switch (op->common.aml_opcode) {
        case AML_IF_OP:
                }
 
                ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
-                                 "Completed RETURN_OP State=%p, ret_val=%p\n",
+                                 "Completed RETURN_OP State=%p, RetVal=%p\n",
                                  walk_state, walk_state->return_desc));
 
                /* End the control method execution right now */
 
  ******************************************************************************/
 void acpi_ds_clear_implicit_return(struct acpi_walk_state *walk_state)
 {
-       ACPI_FUNCTION_NAME("ds_clear_implicit_return");
+       ACPI_FUNCTION_NAME(ds_clear_implicit_return);
 
        /*
         * Slack must be enabled for this feature
 acpi_ds_do_implicit_return(union acpi_operand_object *return_desc,
                           struct acpi_walk_state *walk_state, u8 add_reference)
 {
-       ACPI_FUNCTION_NAME("ds_do_implicit_return");
+       ACPI_FUNCTION_NAME(ds_do_implicit_return);
 
        /*
         * Slack must be enabled for this feature, and we must
 {
        const struct acpi_opcode_info *parent_info;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_is_result_used", op);
+       ACPI_FUNCTION_TRACE_PTR(ds_is_result_used, op);
 
        /* Must have both an Op and a Result Object */
 
        union acpi_operand_object *obj_desc;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_delete_result_if_not_used", result_obj);
+       ACPI_FUNCTION_TRACE_PTR(ds_delete_result_if_not_used, result_obj);
 
        if (!op) {
                ACPI_ERROR((AE_INFO, "Null Op"));
        u32 i;
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_resolve_operands", walk_state);
+       ACPI_FUNCTION_TRACE_PTR(ds_resolve_operands, walk_state);
 
        /*
         * Attempt to resolve each of the valid operands
 {
        u32 i;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_clear_operands", walk_state);
+       ACPI_FUNCTION_TRACE_PTR(ds_clear_operands, walk_state);
 
        /* Remove a reference on each operand on the stack */
 
        acpi_interpreter_mode interpreter_mode;
        const struct acpi_opcode_info *op_info;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_create_operand", arg);
+       ACPI_FUNCTION_TRACE_PTR(ds_create_operand, arg);
 
        /* A valid name must be looked up in the namespace */
 
        union acpi_parse_object *arg;
        u32 arg_count = 0;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_create_operands", first_arg);
+       ACPI_FUNCTION_TRACE_PTR(ds_create_operands, first_arg);
 
        /* For all arguments in the list... */
 
 
        union acpi_operand_object *obj_desc;
        union acpi_operand_object *local_obj_desc = NULL;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_get_predicate_value", walk_state);
+       ACPI_FUNCTION_TRACE_PTR(ds_get_predicate_value, walk_state);
 
        walk_state->control_state->common.state = 0;
 
 
        if (!obj_desc) {
                ACPI_ERROR((AE_INFO,
-                           "No predicate obj_desc=%p State=%p",
+                           "No predicate ObjDesc=%p State=%p",
                            obj_desc, walk_state));
 
                return_ACPI_STATUS(AE_AML_NO_OPERAND);
 
        if (ACPI_GET_OBJECT_TYPE(local_obj_desc) != ACPI_TYPE_INTEGER) {
                ACPI_ERROR((AE_INFO,
-                           "Bad predicate (not an integer) obj_desc=%p State=%p Type=%X",
+                           "Bad predicate (not an integer) ObjDesc=%p State=%p Type=%X",
                            obj_desc, walk_state,
                            ACPI_GET_OBJECT_TYPE(obj_desc)));
 
        acpi_status status = AE_OK;
        u32 opcode_class;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_exec_begin_op", walk_state);
+       ACPI_FUNCTION_TRACE_PTR(ds_exec_begin_op, walk_state);
 
        op = walk_state->op;
        if (!op) {
        union acpi_parse_object *next_op;
        union acpi_parse_object *first_arg;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_exec_end_op", walk_state);
+       ACPI_FUNCTION_TRACE_PTR(ds_exec_end_op, walk_state);
 
        op = walk_state->op;
        op_type = walk_state->op_info->type;
                                                   acpi_ps_get_opcode_name
                                                   (walk_state->opcode),
                                                   walk_state->num_operands,
-                                                  "after ex_resolve_operands");
+                                                  "after ExResolveOperands");
                        }
                }
 
                            acpi_gbl_op_type_dispatch[op_type] (walk_state);
                } else {
                        /*
-                        * Treat constructs of the form "Store(local_x,local_x)" as noops when the
+                        * Treat constructs of the form "Store(LocalX,LocalX)" as noops when the
                         * Local is uninitialized.
                         */
                        if ((status == AE_AML_UNINITIALIZED_LOCAL) &&
                case AML_TYPE_CREATE_FIELD:
 
                        ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                                         "Executing create_field Buffer/Index Op=%p\n",
+                                         "Executing CreateField Buffer/Index Op=%p\n",
                                          op));
 
                        status = acpi_ds_load2_end_op(walk_state);
                case AML_TYPE_CREATE_OBJECT:
 
                        ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                                         "Executing create_object (Buffer/Package) Op=%p\n",
+                                         "Executing CreateObject (Buffer/Package) Op=%p\n",
                                          op));
 
                        switch (op->common.parent->common.aml_opcode) {
 
                        if (op->common.aml_opcode == AML_REGION_OP) {
                                ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                                                 "Executing op_region Address/Length Op=%p\n",
+                                                 "Executing OpRegion Address/Length Op=%p\n",
                                                  op));
 
                                status =
 
        char *path;
        u32 flags;
 
-       ACPI_FUNCTION_TRACE("ds_load1_begin_op");
+       ACPI_FUNCTION_TRACE(ds_load1_begin_op);
 
        op = walk_state->op;
        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, "Op=%p State=%p\n", op,
        acpi_object_type object_type;
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ds_load1_end_op");
+       ACPI_FUNCTION_TRACE(ds_load1_end_op);
 
        op = walk_state->op;
        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, "Op=%p State=%p\n", op,
                         * arguments.)
                         */
                        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
-                                         "LOADING-Method: State=%p Op=%p named_obj=%p\n",
+                                         "LOADING-Method: State=%p Op=%p NamedObj=%p\n",
                                          walk_state, op, op->named.node));
 
                        if (!acpi_ns_get_attached_object(op->named.node)) {
        acpi_object_type object_type;
        char *buffer_ptr;
 
-       ACPI_FUNCTION_TRACE("ds_load2_begin_op");
+       ACPI_FUNCTION_TRACE(ds_load2_begin_op);
 
        op = walk_state->op;
        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, "Op=%p State=%p\n", op,
        u32 i;
 #endif
 
-       ACPI_FUNCTION_TRACE("ds_load2_end_op");
+       ACPI_FUNCTION_TRACE(ds_load2_end_op);
 
        op = walk_state->op;
        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, "Opcode [%s] Op %p State %p\n",
         */
 
        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
-                         "Create-Load [%s] State=%p Op=%p named_obj=%p\n",
+                         "Create-Load [%s] State=%p Op=%p NamedObj=%p\n",
                          acpi_ps_get_opcode_name(op->common.aml_opcode),
                          walk_state, op, node));
 
                         * arguments.)
                         */
                        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
-                                         "LOADING-Method: State=%p Op=%p named_obj=%p\n",
+                                         "LOADING-Method: State=%p Op=%p NamedObj=%p\n",
                                          walk_state, op, op->named.node));
 
                        if (!acpi_ns_get_attached_object(op->named.node)) {
        case AML_CLASS_METHOD_CALL:
 
                ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
-                                 "RESOLVING-method_call: State=%p Op=%p named_obj=%p\n",
+                                 "RESOLVING-MethodCall: State=%p Op=%p NamedObj=%p\n",
                                  walk_state, op, node));
 
                /*
 
 {
        union acpi_generic_state *scope_info;
 
-       ACPI_FUNCTION_NAME("ds_scope_stack_clear");
+       ACPI_FUNCTION_NAME(ds_scope_stack_clear);
 
        while (walk_state->scope_info) {
 
        union acpi_generic_state *scope_info;
        union acpi_generic_state *old_scope_info;
 
-       ACPI_FUNCTION_TRACE("ds_scope_stack_push");
+       ACPI_FUNCTION_TRACE(ds_scope_stack_push);
 
        if (!node) {
 
        union acpi_generic_state *scope_info;
        union acpi_generic_state *new_scope_info;
 
-       ACPI_FUNCTION_TRACE("ds_scope_stack_pop");
+       ACPI_FUNCTION_TRACE(ds_scope_stack_pop);
 
        /*
         * Pop scope info object off the stack.
 
 {
        union acpi_generic_state *state;
 
-       ACPI_FUNCTION_NAME("ds_result_remove");
+       ACPI_FUNCTION_NAME(ds_result_remove);
 
        state = walk_state->results;
        if (!state) {
        acpi_native_uint index;
        union acpi_generic_state *state;
 
-       ACPI_FUNCTION_NAME("ds_result_pop");
+       ACPI_FUNCTION_NAME(ds_result_pop);
 
        state = walk_state->results;
        if (!state) {
        acpi_native_uint index;
        union acpi_generic_state *state;
 
-       ACPI_FUNCTION_NAME("ds_result_pop_from_bottom");
+       ACPI_FUNCTION_NAME(ds_result_pop_from_bottom);
 
        state = walk_state->results;
        if (!state) {
 {
        union acpi_generic_state *state;
 
-       ACPI_FUNCTION_NAME("ds_result_push");
+       ACPI_FUNCTION_NAME(ds_result_push);
 
        state = walk_state->results;
        if (!state) {
 {
        union acpi_generic_state *state;
 
-       ACPI_FUNCTION_NAME("ds_result_stack_push");
+       ACPI_FUNCTION_NAME(ds_result_stack_push);
 
        state = acpi_ut_create_generic_state();
        if (!state) {
 {
        union acpi_generic_state *state;
 
-       ACPI_FUNCTION_NAME("ds_result_stack_pop");
+       ACPI_FUNCTION_NAME(ds_result_stack_pop);
 
        /* Check for stack underflow */
 
        state = acpi_ut_pop_generic_state(&walk_state->results);
 
        ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                         "Result=%p remaining_results=%X State=%p\n",
+                         "Result=%p RemainingResults=%X State=%p\n",
                          state, state->results.num_results, walk_state));
 
        acpi_ut_delete_generic_state(state);
 acpi_status
 acpi_ds_obj_stack_push(void *object, struct acpi_walk_state * walk_state)
 {
-       ACPI_FUNCTION_NAME("ds_obj_stack_push");
+       ACPI_FUNCTION_NAME(ds_obj_stack_push);
 
        /* Check for stack overflow */
 
 {
        u32 i;
 
-       ACPI_FUNCTION_NAME("ds_obj_stack_pop");
+       ACPI_FUNCTION_NAME(ds_obj_stack_pop);
 
        for (i = 0; i < pop_count; i++) {
 
        u32 i;
        union acpi_operand_object *obj_desc;
 
-       ACPI_FUNCTION_NAME("ds_obj_stack_pop_and_delete");
+       ACPI_FUNCTION_NAME(ds_obj_stack_pop_and_delete);
 
        for (i = 0; i < pop_count; i++) {
 
 struct acpi_walk_state *acpi_ds_get_current_walk_state(struct acpi_thread_state
                                                       *thread)
 {
-       ACPI_FUNCTION_NAME("ds_get_current_walk_state");
+       ACPI_FUNCTION_NAME(ds_get_current_walk_state);
 
        if (!thread) {
                return (NULL);
        }
 
-       ACPI_DEBUG_PRINT((ACPI_DB_PARSE, "Current walk_state %p\n",
+       ACPI_DEBUG_PRINT((ACPI_DB_PARSE, "Current WalkState %p\n",
                          thread->walk_state_list));
 
        return (thread->walk_state_list);
 acpi_ds_push_walk_state(struct acpi_walk_state *walk_state,
                        struct acpi_thread_state *thread)
 {
-       ACPI_FUNCTION_TRACE("ds_push_walk_state");
+       ACPI_FUNCTION_TRACE(ds_push_walk_state);
 
        walk_state->next = thread->walk_state_list;
        thread->walk_state_list = walk_state;
 {
        struct acpi_walk_state *walk_state;
 
-       ACPI_FUNCTION_TRACE("ds_pop_walk_state");
+       ACPI_FUNCTION_TRACE(ds_pop_walk_state);
 
        walk_state = thread->walk_state_list;
 
        struct acpi_walk_state *walk_state;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ds_create_walk_state");
+       ACPI_FUNCTION_TRACE(ds_create_walk_state);
 
        walk_state = ACPI_ALLOCATE_ZEROED(sizeof(struct acpi_walk_state));
        if (!walk_state) {
        struct acpi_parse_state *parser_state = &walk_state->parser_state;
        union acpi_parse_object *extra_op;
 
-       ACPI_FUNCTION_TRACE("ds_init_aml_walk");
+       ACPI_FUNCTION_TRACE(ds_init_aml_walk);
 
        walk_state->parser_state.aml =
            walk_state->parser_state.aml_start = aml_start;
 {
        union acpi_generic_state *state;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_delete_walk_state", walk_state);
+       ACPI_FUNCTION_TRACE_PTR(ds_delete_walk_state, walk_state);
 
        if (!walk_state) {
                return;
 {
        union acpi_generic_state *state;
 
-       ACPI_FUNCTION_NAME("ds_result_insert");
+       ACPI_FUNCTION_NAME(ds_result_insert);
 
        state = walk_state->results;
        if (!state) {
 {
        u32 i;
 
-       ACPI_FUNCTION_TRACE_PTR("ds_obj_stack_delete_all", walk_state);
+       ACPI_FUNCTION_TRACE_PTR(ds_obj_stack_delete_all, walk_state);
 
        /* The stack size is configurable, but fixed */
 
 acpi_ds_obj_stack_pop_object(union acpi_operand_object **object,
                             struct acpi_walk_state *walk_state)
 {
-       ACPI_FUNCTION_NAME("ds_obj_stack_pop_object");
+       ACPI_FUNCTION_NAME(ds_obj_stack_pop_object);
 
        /* Check for stack underflow */
 
 void *acpi_ds_obj_stack_get_value(u32 index, struct acpi_walk_state *walk_state)
 {
 
-       ACPI_FUNCTION_TRACE_PTR("ds_obj_stack_get_value", walk_state);
+       ACPI_FUNCTION_TRACE_PTR(ds_obj_stack_get_value, walk_state);
 
        /* Can't do it if the stack is empty */
 
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_initialize_events");
+       ACPI_FUNCTION_TRACE(ev_initialize_events);
 
        /* Make sure we have ACPI tables */
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_install_fadt_gpes");
+       ACPI_FUNCTION_TRACE(ev_install_fadt_gpes);
 
        /* Namespace must be locked */
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_install_xrupt_handlers");
+       ACPI_FUNCTION_TRACE(ev_install_xrupt_handlers);
 
        /* Install the SCI handler */
 
        u32 fixed_enable;
        acpi_native_uint i;
 
-       ACPI_FUNCTION_NAME("ev_fixed_event_detect");
+       ACPI_FUNCTION_NAME(ev_fixed_event_detect);
 
        /*
         * Read the fixed feature status and enable registers, as all the cases
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_set_gpe_type");
+       ACPI_FUNCTION_TRACE(ev_set_gpe_type);
 
        /* Validate type and update register enable masks */
 
        struct acpi_gpe_register_info *gpe_register_info;
        u8 register_bit;
 
-       ACPI_FUNCTION_TRACE("ev_update_gpe_enable_masks");
+       ACPI_FUNCTION_TRACE(ev_update_gpe_enable_masks);
 
        gpe_register_info = gpe_event_info->register_info;
        if (!gpe_register_info) {
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_enable_gpe");
+       ACPI_FUNCTION_TRACE(ev_enable_gpe);
 
        /* Make sure HW enable masks are updated */
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_disable_gpe");
+       ACPI_FUNCTION_TRACE(ev_disable_gpe);
 
        if (!(gpe_event_info->flags & ACPI_GPE_ENABLE_MASK)) {
                return_ACPI_STATUS(AE_OK);
        acpi_native_uint i;
        acpi_native_uint j;
 
-       ACPI_FUNCTION_NAME("ev_gpe_detect");
+       ACPI_FUNCTION_NAME(ev_gpe_detect);
 
        /* Check for the case where there are no GPEs */
 
        struct acpi_gpe_event_info local_gpe_event_info;
        struct acpi_parameter_info info;
 
-       ACPI_FUNCTION_TRACE("ev_asynch_execute_gpe_method");
+       ACPI_FUNCTION_TRACE(ev_asynch_execute_gpe_method);
 
        status = acpi_ut_acquire_mutex(ACPI_MTX_EVENTS);
        if (ACPI_FAILURE(status)) {
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_gpe_dispatch");
+       ACPI_FUNCTION_TRACE(ev_gpe_dispatch);
 
        /*
         * If edge-triggered, clear the GPE status bit now.  Note that
  *
  * DESCRIPTION: Determine if a a GPE is "wake-only".
  *
- *              Called from Notify() code in interpreter when a "device_wake"
+ *              Called from Notify() code in interpreter when a "DeviceWake"
  *              Notify comes in.
  *
  ******************************************************************************/
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_check_for_wake_only_gpe");
+       ACPI_FUNCTION_TRACE(ev_check_for_wake_only_gpe);
 
        if ((gpe_event_info) && /* Only >0 for _Lxx/_Exx */
            ((gpe_event_info->flags & ACPI_GPE_SYSTEM_MASK) == ACPI_GPE_SYSTEM_RUNNING)) {      /* System state at GPE time */
 
        acpi_status status = AE_OK;
        acpi_cpu_flags flags;
 
-       ACPI_FUNCTION_TRACE("ev_walk_gpe_list");
+       ACPI_FUNCTION_TRACE(ev_walk_gpe_list);
 
        flags = acpi_os_acquire_lock(acpi_gbl_gpe_lock);
 
        acpi_native_uint i;
        acpi_native_uint j;
 
-       ACPI_FUNCTION_TRACE("ev_delete_gpe_handlers");
+       ACPI_FUNCTION_TRACE(ev_delete_gpe_handlers);
 
        /* Examine each GPE Register within the block */
 
        u8 type;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_save_method_info");
+       ACPI_FUNCTION_TRACE(ev_save_method_info);
 
        /*
         * _Lxx and _Exx GPE method support
        default:
                /* Unknown method type, just ignore it! */
 
-               ACPI_ERROR((AE_INFO,
-                           "Unknown GPE method type: %s (name not of form _Lxx or _Exx)",
-                           name));
+               ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
+                                 "Ignoring unknown GPE method type: %s (name not of form _Lxx or _Exx)",
+                                 name));
                return_ACPI_STATUS(AE_OK);
        }
 
 
                /* Conversion failed; invalid method, just ignore it */
 
-               ACPI_ERROR((AE_INFO,
-                           "Could not extract GPE number from name: %s (name is not of form _Lxx or _Exx)",
-                           name));
+               ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
+                                 "Could not extract GPE number from name: %s (name is not of form _Lxx or _Exx)",
+                                 name));
                return_ACPI_STATUS(AE_OK);
        }
 
        u32 gpe_number;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_match_prw_and_gpe");
+       ACPI_FUNCTION_TRACE(ev_match_prw_and_gpe);
 
        /* Check for a _PRW method under this device */
 
        acpi_status status;
        acpi_cpu_flags flags;
 
-       ACPI_FUNCTION_TRACE("ev_get_gpe_xrupt_block");
+       ACPI_FUNCTION_TRACE(ev_get_gpe_xrupt_block);
 
        /* No need for lock since we are not changing any list elements here */
 
        acpi_status status;
        acpi_cpu_flags flags;
 
-       ACPI_FUNCTION_TRACE("ev_delete_gpe_xrupt");
+       ACPI_FUNCTION_TRACE(ev_delete_gpe_xrupt);
 
        /* We never want to remove the SCI interrupt handler */
 
        acpi_status status;
        acpi_cpu_flags flags;
 
-       ACPI_FUNCTION_TRACE("ev_install_gpe_block");
+       ACPI_FUNCTION_TRACE(ev_install_gpe_block);
 
        status = acpi_ut_acquire_mutex(ACPI_MTX_EVENTS);
        if (ACPI_FAILURE(status)) {
        acpi_status status;
        acpi_cpu_flags flags;
 
-       ACPI_FUNCTION_TRACE("ev_install_gpe_block");
+       ACPI_FUNCTION_TRACE(ev_install_gpe_block);
 
        status = acpi_ut_acquire_mutex(ACPI_MTX_EVENTS);
        if (ACPI_FAILURE(status)) {
        acpi_native_uint j;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_create_gpe_info_blocks");
+       ACPI_FUNCTION_TRACE(ev_create_gpe_info_blocks);
 
        /* Allocate the GPE register information block */
 
                                                        acpi_gpe_register_info));
        if (!gpe_register_info) {
                ACPI_ERROR((AE_INFO,
-                           "Could not allocate the gpe_register_info table"));
+                           "Could not allocate the GpeRegisterInfo table"));
                return_ACPI_STATUS(AE_NO_MEMORY);
        }
 
                                                     acpi_gpe_event_info));
        if (!gpe_event_info) {
                ACPI_ERROR((AE_INFO,
-                           "Could not allocate the gpe_event_info table"));
+                           "Could not allocate the GpeEventInfo table"));
                status = AE_NO_MEMORY;
                goto error_exit;
        }
        acpi_status status;
        struct acpi_gpe_block_info *gpe_block;
 
-       ACPI_FUNCTION_TRACE("ev_create_gpe_block");
+       ACPI_FUNCTION_TRACE(ev_create_gpe_block);
 
        if (!register_count) {
                return_ACPI_STATUS(AE_OK);
        acpi_native_uint i;
        acpi_native_uint j;
 
-       ACPI_FUNCTION_TRACE("ev_initialize_gpe_block");
+       ACPI_FUNCTION_TRACE(ev_initialize_gpe_block);
 
        /* Ignore a null GPE block (e.g., if no GPE block 1 exists) */
 
 
        status = acpi_hw_enable_runtime_gpe_block(NULL, gpe_block);
        if (ACPI_FAILURE(status)) {
-               ACPI_ERROR((AE_INFO, "Could not enable GPEs in gpe_block %p",
+               ACPI_ERROR((AE_INFO, "Could not enable GPEs in GpeBlock %p",
                            gpe_block));
        }
 
        u32 gpe_number_max = 0;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_gpe_initialize");
+       ACPI_FUNCTION_TRACE(ev_gpe_initialize);
 
        status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE);
        if (ACPI_FAILURE(status)) {
 
        union acpi_generic_state *notify_info;
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_NAME("ev_queue_notify_request");
+       ACPI_FUNCTION_NAME(ev_queue_notify_request);
 
        /*
         * For value 3 (Ejection Request), some device method may need to be run.
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_init_global_lock_handler");
+       ACPI_FUNCTION_TRACE(ev_init_global_lock_handler);
 
        acpi_gbl_global_lock_present = TRUE;
        status = acpi_install_fixed_event_handler(ACPI_EVENT_GLOBAL,
        acpi_status status = AE_OK;
        u8 acquired = FALSE;
 
-       ACPI_FUNCTION_TRACE("ev_acquire_global_lock");
+       ACPI_FUNCTION_TRACE(ev_acquire_global_lock);
 
 #ifndef ACPI_APPLICATION
        /* Make sure that we actually have a global lock */
        u8 pending = FALSE;
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ev_release_global_lock");
+       ACPI_FUNCTION_TRACE(ev_release_global_lock);
 
        if (!acpi_gbl_global_lock_thread_count) {
                ACPI_WARNING((AE_INFO,
        acpi_native_uint i;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_terminate");
+       ACPI_FUNCTION_TRACE(ev_terminate);
 
        if (acpi_gbl_events_initialized) {
                /*
        if (acpi_gbl_original_mode == ACPI_SYS_MODE_LEGACY) {
                status = acpi_disable();
                if (ACPI_FAILURE(status)) {
-                       ACPI_WARNING((AE_INFO, "acpi_disable failed"));
+                       ACPI_WARNING((AE_INFO, "AcpiDisable failed"));
                }
        }
        return_VOID;
 
        acpi_status status;
        acpi_native_uint i;
 
-       ACPI_FUNCTION_TRACE("ev_install_region_handlers");
+       ACPI_FUNCTION_TRACE(ev_install_region_handlers);
 
        status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE);
        if (ACPI_FAILURE(status)) {
        acpi_status status;
        acpi_native_uint i;
 
-       ACPI_FUNCTION_TRACE("ev_initialize_op_regions");
+       ACPI_FUNCTION_TRACE(ev_initialize_op_regions);
 
        status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE);
        if (ACPI_FAILURE(status)) {
        union acpi_operand_object *region_obj2;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_execute_reg_method");
+       ACPI_FUNCTION_TRACE(ev_execute_reg_method);
 
        region_obj2 = acpi_ns_get_secondary_object(region_obj);
        if (!region_obj2) {
        union acpi_operand_object *region_obj2;
        void *region_context = NULL;
 
-       ACPI_FUNCTION_TRACE("ev_address_space_dispatch");
+       ACPI_FUNCTION_TRACE(ev_address_space_dispatch);
 
        region_obj2 = acpi_ns_get_secondary_object(region_obj);
        if (!region_obj2) {
        union acpi_operand_object *region_obj2;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_detach_region");
+       ACPI_FUNCTION_TRACE(ev_detach_region);
 
        region_obj2 = acpi_ns_get_secondary_object(region_obj);
        if (!region_obj2) {
                      u8 acpi_ns_is_locked)
 {
 
-       ACPI_FUNCTION_TRACE("ev_attach_region");
+       ACPI_FUNCTION_TRACE(ev_attach_region);
 
        ACPI_DEBUG_PRINT((ACPI_DB_OPREGION,
                          "Adding Region [%4.4s] %p to address handler %p [%s]\n",
        struct acpi_namespace_node *node;
        acpi_status status;
 
-       ACPI_FUNCTION_NAME("ev_install_handler");
+       ACPI_FUNCTION_NAME(ev_install_handler);
 
        handler_obj = (union acpi_operand_object *)context;
 
        acpi_object_type type;
        u8 flags = 0;
 
-       ACPI_FUNCTION_TRACE("ev_install_space_handler");
+       ACPI_FUNCTION_TRACE(ev_install_space_handler);
 
        /*
         * This registration is valid for only the types below
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_execute_reg_methods");
+       ACPI_FUNCTION_TRACE(ev_execute_reg_methods);
 
        /*
         * Run all _REG methods for all Operation Regions for this
 
            (union acpi_operand_object *)handle;
        struct acpi_mem_space_context *local_region_context;
 
-       ACPI_FUNCTION_TRACE("ev_system_memory_region_setup");
+       ACPI_FUNCTION_TRACE(ev_system_memory_region_setup);
 
        if (function == ACPI_REGION_DEACTIVATE) {
                if (*region_context) {
                              u32 function,
                              void *handler_context, void **region_context)
 {
-       ACPI_FUNCTION_TRACE("ev_io_space_region_setup");
+       ACPI_FUNCTION_TRACE(ev_io_space_region_setup);
 
        if (function == ACPI_REGION_DEACTIVATE) {
                *region_context = NULL;
            (union acpi_operand_object *)handle;
        struct acpi_device_id object_hID;
 
-       ACPI_FUNCTION_TRACE("ev_pci_config_region_setup");
+       ACPI_FUNCTION_TRACE(ev_pci_config_region_setup);
 
        handler_obj = region_obj->region.handler;
        if (!handler_obj) {
                                                } else {
                                                        ACPI_EXCEPTION((AE_INFO,
                                                                        status,
-                                                                       "Could not install pci_config handler for Root Bridge %4.4s",
+                                                                       "Could not install PciConfig handler for Root Bridge %4.4s",
                                                                        acpi_ut_get_node_name
                                                                        (pci_root_node)));
                                                }
                             u32 function,
                             void *handler_context, void **region_context)
 {
-       ACPI_FUNCTION_TRACE("ev_pci_bar_region_setup");
+       ACPI_FUNCTION_TRACE(ev_pci_bar_region_setup);
 
        return_ACPI_STATUS(AE_OK);
 }
                          u32 function,
                          void *handler_context, void **region_context)
 {
-       ACPI_FUNCTION_TRACE("ev_cmos_region_setup");
+       ACPI_FUNCTION_TRACE(ev_cmos_region_setup);
 
        return_ACPI_STATUS(AE_OK);
 }
                             u32 function,
                             void *handler_context, void **region_context)
 {
-       ACPI_FUNCTION_TRACE("ev_default_region_setup");
+       ACPI_FUNCTION_TRACE(ev_default_region_setup);
 
        if (function == ACPI_REGION_DEACTIVATE) {
                *region_context = NULL;
        acpi_name *reg_name_ptr = (acpi_name *) METHOD_NAME__REG;
        union acpi_operand_object *region_obj2;
 
-       ACPI_FUNCTION_TRACE_U32("ev_initialize_region", acpi_ns_locked);
+       ACPI_FUNCTION_TRACE_U32(ev_initialize_region, acpi_ns_locked);
 
        if (!region_obj) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        /* If we get here, there is no handler for this region */
 
        ACPI_DEBUG_PRINT((ACPI_DB_OPREGION,
-                         "No handler for region_type %s(%X) (region_obj %p)\n",
+                         "No handler for RegionType %s(%X) (RegionObj %p)\n",
                          acpi_ut_get_region_name(space_id), space_id,
                          region_obj));
 
 
        struct acpi_gpe_xrupt_info *gpe_xrupt_list = context;
        u32 interrupt_handled = ACPI_INTERRUPT_NOT_HANDLED;
 
-       ACPI_FUNCTION_TRACE("ev_sci_xrupt_handler");
+       ACPI_FUNCTION_TRACE(ev_sci_xrupt_handler);
 
        /*
         * We are guaranteed by the ACPI CA initialization/shutdown code that
        struct acpi_gpe_xrupt_info *gpe_xrupt_list = context;
        u32 interrupt_handled = ACPI_INTERRUPT_NOT_HANDLED;
 
-       ACPI_FUNCTION_TRACE("ev_gpe_xrupt_handler");
+       ACPI_FUNCTION_TRACE(ev_gpe_xrupt_handler);
 
        /*
         * We are guaranteed by the ACPI CA initialization/shutdown code that
 {
        u32 status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ev_install_sci_handler");
+       ACPI_FUNCTION_TRACE(ev_install_sci_handler);
 
        status = acpi_os_install_interrupt_handler((u32) acpi_gbl_FADT->sci_int,
                                                   acpi_ev_sci_xrupt_handler,
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ev_remove_sci_handler");
+       ACPI_FUNCTION_TRACE(ev_remove_sci_handler);
 
        /* Just let the OS remove the handler and disable the level */
 
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_install_exception_handler");
+       ACPI_FUNCTION_TRACE(acpi_install_exception_handler);
 
        status = acpi_ut_acquire_mutex(ACPI_MTX_EVENTS);
        if (ACPI_FAILURE(status)) {
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_install_fixed_event_handler");
+       ACPI_FUNCTION_TRACE(acpi_install_fixed_event_handler);
 
        /* Parameter validation */
 
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("acpi_remove_fixed_event_handler");
+       ACPI_FUNCTION_TRACE(acpi_remove_fixed_event_handler);
 
        /* Parameter validation */
 
        struct acpi_namespace_node *node;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_install_notify_handler");
+       ACPI_FUNCTION_TRACE(acpi_install_notify_handler);
 
        /* Parameter validation */
 
        struct acpi_namespace_node *node;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_remove_notify_handler");
+       ACPI_FUNCTION_TRACE(acpi_remove_notify_handler);
 
        /* Parameter validation */
 
        acpi_status status;
        acpi_cpu_flags flags;
 
-       ACPI_FUNCTION_TRACE("acpi_install_gpe_handler");
+       ACPI_FUNCTION_TRACE(acpi_install_gpe_handler);
 
        /* Parameter validation */
 
        acpi_status status;
        acpi_cpu_flags flags;
 
-       ACPI_FUNCTION_TRACE("acpi_remove_gpe_handler");
+       ACPI_FUNCTION_TRACE(acpi_remove_gpe_handler);
 
        /* Parameter validation */
 
 
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("acpi_enable");
+       ACPI_FUNCTION_TRACE(acpi_enable);
 
        /* Make sure we have the FADT */
 
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("acpi_disable");
+       ACPI_FUNCTION_TRACE(acpi_disable);
 
        if (!acpi_gbl_FADT) {
                ACPI_WARNING((AE_INFO, "No FADT information present!"));
        acpi_status status = AE_OK;
        u32 value;
 
-       ACPI_FUNCTION_TRACE("acpi_enable_event");
+       ACPI_FUNCTION_TRACE(acpi_enable_event);
 
        /* Decode the Fixed Event */
 
        acpi_status status = AE_OK;
        struct acpi_gpe_event_info *gpe_event_info;
 
-       ACPI_FUNCTION_TRACE("acpi_set_gpe_type");
+       ACPI_FUNCTION_TRACE(acpi_set_gpe_type);
 
        /* Ensure that we have a valid GPE number */
 
        acpi_status status = AE_OK;
        struct acpi_gpe_event_info *gpe_event_info;
 
-       ACPI_FUNCTION_TRACE("acpi_enable_gpe");
+       ACPI_FUNCTION_TRACE(acpi_enable_gpe);
 
        /* Use semaphore lock if not executing at interrupt level */
 
        acpi_status status = AE_OK;
        struct acpi_gpe_event_info *gpe_event_info;
 
-       ACPI_FUNCTION_TRACE("acpi_disable_gpe");
+       ACPI_FUNCTION_TRACE(acpi_disable_gpe);
 
        /* Use semaphore lock if not executing at interrupt level */
 
        acpi_status status = AE_OK;
        u32 value;
 
-       ACPI_FUNCTION_TRACE("acpi_disable_event");
+       ACPI_FUNCTION_TRACE(acpi_disable_event);
 
        /* Decode the Fixed Event */
 
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("acpi_clear_event");
+       ACPI_FUNCTION_TRACE(acpi_clear_event);
 
        /* Decode the Fixed Event */
 
        acpi_status status = AE_OK;
        struct acpi_gpe_event_info *gpe_event_info;
 
-       ACPI_FUNCTION_TRACE("acpi_clear_gpe");
+       ACPI_FUNCTION_TRACE(acpi_clear_gpe);
 
        /* Use semaphore lock if not executing at interrupt level */
 
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("acpi_get_event_status");
+       ACPI_FUNCTION_TRACE(acpi_get_event_status);
 
        if (!event_status) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        acpi_status status = AE_OK;
        struct acpi_gpe_event_info *gpe_event_info;
 
-       ACPI_FUNCTION_TRACE("acpi_get_gpe_status");
+       ACPI_FUNCTION_TRACE(acpi_get_gpe_status);
 
        /* Use semaphore lock if not executing at interrupt level */
 
        struct acpi_namespace_node *node;
        struct acpi_gpe_block_info *gpe_block;
 
-       ACPI_FUNCTION_TRACE("acpi_install_gpe_block");
+       ACPI_FUNCTION_TRACE(acpi_install_gpe_block);
 
        if ((!gpe_device) || (!gpe_block_address) || (!register_count)) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        acpi_status status;
        struct acpi_namespace_node *node;
 
-       ACPI_FUNCTION_TRACE("acpi_remove_gpe_block");
+       ACPI_FUNCTION_TRACE(acpi_remove_gpe_block);
 
        if (!gpe_device) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
 
        struct acpi_namespace_node *node;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_install_address_space_handler");
+       ACPI_FUNCTION_TRACE(acpi_install_address_space_handler);
 
        /* Parameter validation */
 
        struct acpi_namespace_node *node;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_remove_address_space_handler");
+       ACPI_FUNCTION_TRACE(acpi_remove_address_space_handler);
 
        /* Parameter validation */
 
        /* The handler does not exist */
 
        ACPI_DEBUG_PRINT((ACPI_DB_OPREGION,
-                         "Unable to remove address handler %p for %s(%X), dev_node %p, obj %p\n",
+                         "Unable to remove address handler %p for %s(%X), DevNode %p, obj %p\n",
                          handler, acpi_ut_get_region_name(space_id), space_id,
                          node, obj_desc));
 
 
        struct acpi_table_desc table_info;
        union acpi_operand_object *obj_desc;
 
-       ACPI_FUNCTION_TRACE("ex_add_table");
+       ACPI_FUNCTION_TRACE(ex_add_table);
 
        /* Create an object to be the table handle */
 
 
        ACPI_MEMSET(&table_info, 0, sizeof(struct acpi_table_desc));
 
-       table_info.type = ACPI_TABLE_SSDT;
+       table_info.type = ACPI_TABLE_ID_SSDT;
        table_info.pointer = table;
        table_info.length = (acpi_size) table->length;
        table_info.allocation = ACPI_MEM_ALLOCATED;
        struct acpi_namespace_node *parameter_node = NULL;
        union acpi_operand_object *ddb_handle;
 
-       ACPI_FUNCTION_TRACE("ex_load_table_op");
+       ACPI_FUNCTION_TRACE(ex_load_table_op);
 
 #if 0
        /*
        struct acpi_table_header table_header;
        u32 i;
 
-       ACPI_FUNCTION_TRACE("ex_load_op");
+       ACPI_FUNCTION_TRACE(ex_load_op);
 
        /* Object can be either an op_region or a Field */
 
 
        /* The table must be either an SSDT or a PSDT */
 
-       if ((!ACPI_STRNCMP(table_ptr->signature,
-                          acpi_gbl_table_data[ACPI_TABLE_PSDT].signature,
-                          acpi_gbl_table_data[ACPI_TABLE_PSDT].sig_length)) &&
-           (!ACPI_STRNCMP(table_ptr->signature,
-                          acpi_gbl_table_data[ACPI_TABLE_SSDT].signature,
-                          acpi_gbl_table_data[ACPI_TABLE_SSDT].sig_length))) {
+       if ((!ACPI_COMPARE_NAME(table_ptr->signature, PSDT_SIG)) &&
+           (!ACPI_COMPARE_NAME(table_ptr->signature, SSDT_SIG))) {
                ACPI_ERROR((AE_INFO,
                            "Table has invalid signature [%4.4s], must be SSDT or PSDT",
                            table_ptr->signature));
        union acpi_operand_object *table_desc = ddb_handle;
        struct acpi_table_desc *table_info;
 
-       ACPI_FUNCTION_TRACE("ex_unload_table");
+       ACPI_FUNCTION_TRACE(ex_unload_table);
 
        /*
         * Validate the handle
 
        u32 count;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_convert_to_integer", obj_desc);
+       ACPI_FUNCTION_TRACE_PTR(ex_convert_to_integer, obj_desc);
 
        switch (ACPI_GET_OBJECT_TYPE(obj_desc)) {
        case ACPI_TYPE_INTEGER:
        union acpi_operand_object *return_desc;
        u8 *new_buf;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_convert_to_buffer", obj_desc);
+       ACPI_FUNCTION_TRACE_PTR(ex_convert_to_buffer, obj_desc);
 
        switch (ACPI_GET_OBJECT_TYPE(obj_desc)) {
        case ACPI_TYPE_BUFFER:
        u16 base = 16;
        u8 separator = ',';
 
-       ACPI_FUNCTION_TRACE_PTR("ex_convert_to_string", obj_desc);
+       ACPI_FUNCTION_TRACE_PTR(ex_convert_to_string, obj_desc);
 
        switch (ACPI_GET_OBJECT_TYPE(obj_desc)) {
        case ACPI_TYPE_STRING:
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ex_convert_to_target_type");
+       ACPI_FUNCTION_TRACE(ex_convert_to_target_type);
 
        /* Default behavior */
 
 
        default:
                ACPI_ERROR((AE_INFO,
-                           "Unknown Target type ID 0x%X aml_opcode %X dest_type %s",
+                           "Unknown Target type ID 0x%X AmlOpcode %X DestType %s",
                            GET_CURRENT_ARG_TYPE(walk_state->op_info->
                                                 runtime_args),
                            walk_state->opcode,
 
        struct acpi_namespace_node *alias_node;
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ex_create_alias");
+       ACPI_FUNCTION_TRACE(ex_create_alias);
 
        /* Get the source/alias operands (both namespace nodes) */
 
        acpi_status status;
        union acpi_operand_object *obj_desc;
 
-       ACPI_FUNCTION_TRACE("ex_create_event");
+       ACPI_FUNCTION_TRACE(ex_create_event);
 
        obj_desc = acpi_ut_create_internal_object(ACPI_TYPE_EVENT);
        if (!obj_desc) {
        acpi_status status = AE_OK;
        union acpi_operand_object *obj_desc;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_create_mutex", ACPI_WALK_OPERANDS);
+       ACPI_FUNCTION_TRACE_PTR(ex_create_mutex, ACPI_WALK_OPERANDS);
 
        /* Create the new mutex object */
 
        struct acpi_namespace_node *node;
        union acpi_operand_object *region_obj2;
 
-       ACPI_FUNCTION_TRACE("ex_create_region");
+       ACPI_FUNCTION_TRACE(ex_create_region);
 
        /* Get the Namespace Node */
 
         */
        if ((region_space >= ACPI_NUM_PREDEFINED_REGIONS) &&
            (region_space < ACPI_USER_REGION_BEGIN)) {
-               ACPI_ERROR((AE_INFO, "Invalid address_space type %X",
+               ACPI_ERROR((AE_INFO, "Invalid AddressSpace type %X",
                            region_space));
                return_ACPI_STATUS(AE_AML_INVALID_SPACE_ID);
        }
        struct acpi_table_header *table;
        union acpi_operand_object *region_obj2;
 
-       ACPI_FUNCTION_TRACE("ex_create_table_region");
+       ACPI_FUNCTION_TRACE(ex_create_table_region);
 
        /* Get the Node from the object stack  */
 
        union acpi_operand_object *obj_desc;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_create_processor", walk_state);
+       ACPI_FUNCTION_TRACE_PTR(ex_create_processor, walk_state);
 
        /* Create the processor object */
 
        acpi_status status;
        union acpi_operand_object *obj_desc;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_create_power_resource", walk_state);
+       ACPI_FUNCTION_TRACE_PTR(ex_create_power_resource, walk_state);
 
        /* Create the power resource object */
 
        acpi_status status;
        u8 method_flags;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_create_method", walk_state);
+       ACPI_FUNCTION_TRACE_PTR(ex_create_method, walk_state);
 
        /* Create a new method object */
 
 
 
 static struct acpi_exdump_info acpi_ex_dump_method[8] = {
        {ACPI_EXD_INIT, ACPI_EXD_TABLE_SIZE(acpi_ex_dump_method), NULL},
-       {ACPI_EXD_UINT8, ACPI_EXD_OFFSET(method.param_count), "param_count"},
+       {ACPI_EXD_UINT8, ACPI_EXD_OFFSET(method.param_count), "ParamCount"},
        {ACPI_EXD_UINT8, ACPI_EXD_OFFSET(method.concurrency), "Concurrency"},
        {ACPI_EXD_POINTER, ACPI_EXD_OFFSET(method.semaphore), "Semaphore"},
        {ACPI_EXD_UINT8, ACPI_EXD_OFFSET(method.owner_id), "Owner Id"},
 
        if (!info) {
                acpi_os_printf
-                   ("ex_dump_object: Display not implemented for object type %s\n",
+                   ("ExDumpObject: Display not implemented for object type %s\n",
                     acpi_ut_get_object_type_name(obj_desc));
                return;
        }
        u32 length;
        u32 index;
 
-       ACPI_FUNCTION_NAME("ex_dump_operand")
+       ACPI_FUNCTION_NAME(ex_dump_operand)
 
            if (!
                ((ACPI_LV_EXEC & acpi_dbg_level)
 
                case AML_REF_OF_OP:
 
-                       acpi_os_printf("Reference: (ref_of) %p\n",
+                       acpi_os_printf("Reference: (RefOf) %p\n",
                                       obj_desc->reference.object);
                        break;
 
 
        case ACPI_TYPE_PACKAGE:
 
-               acpi_os_printf("Package [Len %X] element_array %p\n",
+               acpi_os_printf("Package [Len %X] ElementArray %p\n",
                               obj_desc->package.count,
                               obj_desc->package.elements);
 
 
        case ACPI_TYPE_LOCAL_BANK_FIELD:
 
-               acpi_os_printf("bank_field\n");
+               acpi_os_printf("BankField\n");
                break;
 
        case ACPI_TYPE_LOCAL_REGION_FIELD:
 
                acpi_os_printf
-                   ("region_field: Bits=%X acc_width=%X Lock=%X Update=%X at byte=%X bit=%X of below:\n",
+                   ("RegionField: Bits=%X AccWidth=%X Lock=%X Update=%X at byte=%X bit=%X of below:\n",
                     obj_desc->field.bit_length,
                     obj_desc->field.access_byte_width,
                     obj_desc->field.field_flags & AML_FIELD_LOCK_RULE_MASK,
 
        case ACPI_TYPE_LOCAL_INDEX_FIELD:
 
-               acpi_os_printf("index_field\n");
+               acpi_os_printf("IndexField\n");
                break;
 
        case ACPI_TYPE_BUFFER_FIELD:
 
-               acpi_os_printf("buffer_field: %X bits at byte %X bit %X of\n",
+               acpi_os_printf("BufferField: %X bits at byte %X bit %X of\n",
                               obj_desc->buffer_field.bit_length,
                               obj_desc->buffer_field.base_byte_offset,
                               obj_desc->buffer_field.start_field_bit_offset);
 {
        acpi_native_uint i;
 
-       ACPI_FUNCTION_NAME("ex_dump_operands");
+       ACPI_FUNCTION_NAME(ex_dump_operands);
 
        if (!ident) {
                ident = "?";
 void
 acpi_ex_dump_object_descriptor(union acpi_operand_object *obj_desc, u32 flags)
 {
-       ACPI_FUNCTION_TRACE("ex_dump_object_descriptor");
+       ACPI_FUNCTION_TRACE(ex_dump_object_descriptor);
 
        if (!obj_desc) {
                return_VOID;
 
        if (ACPI_GET_DESCRIPTOR_TYPE(obj_desc) != ACPI_DESC_TYPE_OPERAND) {
                acpi_os_printf
-                   ("ex_dump_object_descriptor: %p is not an ACPI operand object: [%s]\n",
+                   ("ExDumpObjectDescriptor: %p is not an ACPI operand object: [%s]\n",
                     obj_desc, acpi_ut_get_descriptor_name(obj_desc));
                return_VOID;
        }
 
        void *buffer;
        u8 locked;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_read_data_from_field", obj_desc);
+       ACPI_FUNCTION_TRACE_PTR(ex_read_data_from_field, obj_desc);
 
        /* Parameter validation */
 
        }
 
        ACPI_DEBUG_PRINT((ACPI_DB_BFIELD,
-                         "field_read [TO]:  Obj %p, Type %X, Buf %p, byte_len %X\n",
+                         "FieldRead [TO]:   Obj %p, Type %X, Buf %p, ByteLen %X\n",
                          obj_desc, ACPI_GET_OBJECT_TYPE(obj_desc), buffer,
                          (u32) length));
        ACPI_DEBUG_PRINT((ACPI_DB_BFIELD,
-                         "field_read [FROM]: bit_len %X, bit_off %X, byte_off %X\n",
+                         "FieldRead [FROM]: BitLen %X, BitOff %X, ByteOff %X\n",
                          obj_desc->common_field.bit_length,
                          obj_desc->common_field.start_field_bit_offset,
                          obj_desc->common_field.base_byte_offset));
        u8 locked;
        union acpi_operand_object *buffer_desc;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_write_data_to_field", obj_desc);
+       ACPI_FUNCTION_TRACE_PTR(ex_write_data_to_field, obj_desc);
 
        /* Parameter validation */
 
        }
 
        ACPI_DEBUG_PRINT((ACPI_DB_BFIELD,
-                         "field_write [FROM]: Obj %p (%s:%X), Buf %p, byte_len %X\n",
+                         "FieldWrite [FROM]: Obj %p (%s:%X), Buf %p, ByteLen %X\n",
                          source_desc,
                          acpi_ut_get_type_name(ACPI_GET_OBJECT_TYPE
                                                (source_desc)),
                          ACPI_GET_OBJECT_TYPE(source_desc), buffer, length));
 
        ACPI_DEBUG_PRINT((ACPI_DB_BFIELD,
-                         "field_write [TO]:  Obj %p (%s:%X), bit_len %X, bit_off %X, byte_off %X\n",
+                         "FieldWrite [TO]:   Obj %p (%s:%X), BitLen %X, BitOff %X, ByteOff %X\n",
                          obj_desc,
                          acpi_ut_get_type_name(ACPI_GET_OBJECT_TYPE(obj_desc)),
                          ACPI_GET_OBJECT_TYPE(obj_desc),
 
        acpi_status status = AE_OK;
        union acpi_operand_object *rgn_desc;
 
-       ACPI_FUNCTION_TRACE_U32("ex_setup_region", field_datum_byte_offset);
+       ACPI_FUNCTION_TRACE_U32(ex_setup_region, field_datum_byte_offset);
 
        rgn_desc = obj_desc->common_field.region_obj;
 
                }
        }
 
+       /* Exit if Address/Length have been disallowed by the host OS */
+
+       if (rgn_desc->common.flags & AOPOBJ_INVALID) {
+               return_ACPI_STATUS(AE_AML_ILLEGAL_ADDRESS);
+       }
+
+       /*
+        * Exit now for SMBus address space, it has a non-linear address space
+        * and the request cannot be directly validated
+        */
        if (rgn_desc->region.space_id == ACPI_ADR_SPACE_SMBUS) {
 
                /* SMBus has a non-linear address space */
        union acpi_operand_object *rgn_desc;
        acpi_physical_address address;
 
-       ACPI_FUNCTION_TRACE("ex_access_region");
+       ACPI_FUNCTION_TRACE(ex_access_region);
 
        /*
         * Ensure that the region operands are fully evaluated and verify
        }
 
        ACPI_DEBUG_PRINT_RAW((ACPI_DB_BFIELD,
-                             " Region [%s:%X], Width %X, byte_base %X, Offset %X at %8.8X%8.8X\n",
+                             " Region [%s:%X], Width %X, ByteBase %X, Offset %X at %8.8X%8.8X\n",
                              acpi_ut_get_region_name(rgn_desc->region.
                                                      space_id),
                              rgn_desc->region.space_id,
        acpi_status status;
        acpi_integer local_value;
 
-       ACPI_FUNCTION_TRACE_U32("ex_field_datum_io", field_datum_byte_offset);
+       ACPI_FUNCTION_TRACE_U32(ex_field_datum_io, field_datum_byte_offset);
 
        if (read_write == ACPI_READ) {
                if (!value) {
                }
 
                ACPI_DEBUG_PRINT((ACPI_DB_BFIELD,
-                                 "I/O to Data Register: value_ptr %p\n",
+                                 "I/O to Data Register: ValuePtr %p\n",
                                  value));
 
                if (read_write == ACPI_READ) {
        acpi_integer merged_value;
        acpi_integer current_value;
 
-       ACPI_FUNCTION_TRACE_U32("ex_write_with_update_rule", mask);
+       ACPI_FUNCTION_TRACE_U32(ex_write_with_update_rule, mask);
 
        /* Start with the new bits  */
 
                default:
 
                        ACPI_ERROR((AE_INFO,
-                                   "Unknown update_rule value: %X",
+                                   "Unknown UpdateRule value: %X",
                                    (obj_desc->common_field.
                                     field_flags &
                                     AML_FIELD_UPDATE_RULE_MASK)));
        }
 
        ACPI_DEBUG_PRINT((ACPI_DB_BFIELD,
-                         "Mask %8.8X%8.8X, datum_offset %X, Width %X, Value %8.8X%8.8X, merged_value %8.8X%8.8X\n",
+                         "Mask %8.8X%8.8X, DatumOffset %X, Width %X, Value %8.8X%8.8X, MergedValue %8.8X%8.8X\n",
                          ACPI_FORMAT_UINT64(mask),
                          field_datum_byte_offset,
                          obj_desc->common_field.access_byte_width,
        u32 field_datum_count;
        u32 i;
 
-       ACPI_FUNCTION_TRACE("ex_extract_from_field");
+       ACPI_FUNCTION_TRACE(ex_extract_from_field);
 
        /* Validate target buffer and clear it */
 
        u32 field_datum_count;
        u32 i;
 
-       ACPI_FUNCTION_TRACE("ex_insert_into_field");
+       ACPI_FUNCTION_TRACE(ex_insert_into_field);
 
        /* Validate input buffer */
 
 
        union acpi_operand_object *reference_obj;
        union acpi_operand_object *referenced_obj;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_get_object_reference", obj_desc);
+       ACPI_FUNCTION_TRACE_PTR(ex_get_object_reference, obj_desc);
 
        *return_desc = NULL;
 
        acpi_size length1;
        acpi_size new_length;
 
-       ACPI_FUNCTION_TRACE("ex_concat_template");
+       ACPI_FUNCTION_TRACE(ex_concat_template);
 
        /*
         * Find the end_tag descriptor in each resource template.
        char *new_buf;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ex_do_concatenate");
+       ACPI_FUNCTION_TRACE(ex_do_concatenate);
 
        /*
         * Convert the second operand if necessary.  The first operand
        acpi_status status = AE_OK;
        u8 local_result = FALSE;
 
-       ACPI_FUNCTION_TRACE("ex_do_logical_numeric_op");
+       ACPI_FUNCTION_TRACE(ex_do_logical_numeric_op);
 
        switch (opcode) {
        case AML_LAND_OP:       /* LAnd (Integer0, Integer1) */
        u8 local_result = FALSE;
        int compare;
 
-       ACPI_FUNCTION_TRACE("ex_do_logical_op");
+       ACPI_FUNCTION_TRACE(ex_do_logical_op);
 
        /*
         * Convert the second operand if necessary.  The first operand
 
  *
  * RETURN:      None
  *
- * DESCRIPTION: Remove a mutex from the "acquired_mutex" list
+ * DESCRIPTION: Remove a mutex from the "AcquiredMutex" list
  *
  ******************************************************************************/
 
  *
  * RETURN:      None
  *
- * DESCRIPTION: Add a mutex to the "acquired_mutex" list for this walk
+ * DESCRIPTION: Add a mutex to the "AcquiredMutex" list for this walk
  *
  ******************************************************************************/
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_acquire_mutex", obj_desc);
+       ACPI_FUNCTION_TRACE_PTR(ex_acquire_mutex, obj_desc);
 
        if (!obj_desc) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
         */
        if (walk_state->thread->current_sync_level > obj_desc->mutex.sync_level) {
                ACPI_ERROR((AE_INFO,
-                           "Cannot acquire Mutex [%4.4s], incorrect sync_level",
+                           "Cannot acquire Mutex [%4.4s], incorrect SyncLevel",
                            acpi_ut_get_node_name(obj_desc->mutex.node)));
                return_ACPI_STATUS(AE_AML_MUTEX_ORDER);
        }
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ex_release_mutex");
+       ACPI_FUNCTION_TRACE(ex_release_mutex);
 
        if (!obj_desc) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
         */
        if (obj_desc->mutex.sync_level > walk_state->thread->current_sync_level) {
                ACPI_ERROR((AE_INFO,
-                           "Cannot release Mutex [%4.4s], incorrect sync_level",
+                           "Cannot release Mutex [%4.4s], incorrect SyncLevel",
                            acpi_ut_get_node_name(obj_desc->mutex.node)));
                return_ACPI_STATUS(AE_AML_MUTEX_ORDER);
        }
 
        char *name_string;
        u32 size_needed;
 
-       ACPI_FUNCTION_TRACE("ex_allocate_name_string");
+       ACPI_FUNCTION_TRACE(ex_allocate_name_string);
 
        /*
         * Allow room for all \ and ^ prefixes, all segments and a multi_name_prefix.
        u32 index;
        char char_buf[5];
 
-       ACPI_FUNCTION_TRACE("ex_name_segment");
+       ACPI_FUNCTION_TRACE(ex_name_segment);
 
        /*
         * If first character is a digit, then we know that we aren't looking at a
        u32 prefix_count = 0;
        u8 has_prefix = FALSE;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_get_name_string", aml_address);
+       ACPI_FUNCTION_TRACE_PTR(ex_get_name_string, aml_address);
 
        if (ACPI_TYPE_LOCAL_REGION_FIELD == data_type ||
            ACPI_TYPE_LOCAL_BANK_FIELD == data_type ||
                case AML_ROOT_PREFIX:
 
                        ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
-                                         "root_prefix(\\) at %p\n",
+                                         "RootPrefix(\\) at %p\n",
                                          aml_address));
 
                        /*
 
                        do {
                                ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
-                                                 "parent_prefix (^) at %p\n",
+                                                 "ParentPrefix (^) at %p\n",
                                                  aml_address));
 
                                aml_address++;
                case AML_DUAL_NAME_PREFIX:
 
                        ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
-                                         "dual_name_prefix at %p\n",
+                                         "DualNamePrefix at %p\n",
                                          aml_address));
 
                        aml_address++;
                case AML_MULTI_NAME_PREFIX_OP:
 
                        ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
-                                         "multi_name_prefix at %p\n",
+                                         "MultiNamePrefix at %p\n",
                                          aml_address));
 
                        /* Fetch count of segments remaining in name path */
 
                        if (prefix_count == ACPI_UINT32_MAX) {
                                ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                                                 "name_seg is \"\\\" followed by NULL\n"));
+                                                 "NameSeg is \"\\\" followed by NULL\n"));
                        }
 
                        /* Consume the NULL byte */
 
        acpi_status status = AE_OK;
        union acpi_operand_object *return_desc = NULL;
 
-       ACPI_FUNCTION_TRACE_STR("ex_opcode_0A_0T_1R",
+       ACPI_FUNCTION_TRACE_STR(ex_opcode_0A_0T_1R,
                                acpi_ps_get_opcode_name(walk_state->opcode));
 
        /* Examine the AML opcode */
        union acpi_operand_object **operand = &walk_state->operands[0];
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE_STR("ex_opcode_1A_0T_0R",
+       ACPI_FUNCTION_TRACE_STR(ex_opcode_1A_0T_0R,
                                acpi_ps_get_opcode_name(walk_state->opcode));
 
        /* Examine the AML opcode */
        acpi_status status = AE_OK;
        union acpi_operand_object **operand = &walk_state->operands[0];
 
-       ACPI_FUNCTION_TRACE_STR("ex_opcode_1A_1T_0R",
+       ACPI_FUNCTION_TRACE_STR(ex_opcode_1A_1T_0R,
                                acpi_ps_get_opcode_name(walk_state->opcode));
 
        /* Examine the AML opcode */
        acpi_integer power_of_ten;
        acpi_integer digit;
 
-       ACPI_FUNCTION_TRACE_STR("ex_opcode_1A_1T_1R",
+       ACPI_FUNCTION_TRACE_STR(ex_opcode_1A_1T_1R,
                                acpi_ps_get_opcode_name(walk_state->opcode));
 
        /* Examine the AML opcode */
        u32 type;
        acpi_integer value;
 
-       ACPI_FUNCTION_TRACE_STR("ex_opcode_1A_0T_1R",
+       ACPI_FUNCTION_TRACE_STR(ex_opcode_1A_0T_1R,
                                acpi_ps_get_opcode_name(walk_state->opcode));
 
        /* Examine the AML opcode */
                                default:
 
                                        ACPI_ERROR((AE_INFO,
-                                                   "Unknown Index target_type %X in obj %p",
+                                                   "Unknown Index TargetType %X in obj %p",
                                                    operand[0]->reference.
                                                    target_type, operand[0]));
                                        status = AE_AML_OPERAND_TYPE;
 
        u32 value;
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE_STR("ex_opcode_2A_0T_0R",
+       ACPI_FUNCTION_TRACE_STR(ex_opcode_2A_0T_0R,
                                acpi_ps_get_opcode_name(walk_state->opcode));
 
        /* Examine the opcode */
 #ifdef ACPI_GPE_NOTIFY_CHECK
                /*
                 * GPE method wake/notify check.  Here, we want to ensure that we
-                * don't receive any "device_wake" Notifies from a GPE _Lxx or _Exx
+                * don't receive any "DeviceWake" Notifies from a GPE _Lxx or _Exx
                 * GPE method during system runtime.  If we do, the GPE is marked
                 * as "wake-only" and disabled.
                 *
        union acpi_operand_object *return_desc2 = NULL;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_STR("ex_opcode_2A_2T_1R",
+       ACPI_FUNCTION_TRACE_STR(ex_opcode_2A_2T_1R,
                                acpi_ps_get_opcode_name(walk_state->opcode));
 
        /* Execute the opcode */
        acpi_status status = AE_OK;
        acpi_size length;
 
-       ACPI_FUNCTION_TRACE_STR("ex_opcode_2A_1T_1R",
+       ACPI_FUNCTION_TRACE_STR(ex_opcode_2A_1T_1R,
                                acpi_ps_get_opcode_name(walk_state->opcode));
 
        /* Execute the opcode */
        acpi_status status = AE_OK;
        u8 logical_result = FALSE;
 
-       ACPI_FUNCTION_TRACE_STR("ex_opcode_2A_0T_1R",
+       ACPI_FUNCTION_TRACE_STR(ex_opcode_2A_0T_1R,
                                acpi_ps_get_opcode_name(walk_state->opcode));
 
        /* Create the internal return object */
 
        struct acpi_signal_fatal_info *fatal;
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE_STR("ex_opcode_3A_0T_0R",
+       ACPI_FUNCTION_TRACE_STR(ex_opcode_3A_0T_0R,
                                acpi_ps_get_opcode_name(walk_state->opcode));
 
        switch (walk_state->opcode) {
        case AML_FATAL_OP:      /* Fatal (fatal_type fatal_code fatal_arg) */
 
                ACPI_DEBUG_PRINT((ACPI_DB_INFO,
-                                 "fatal_op: Type %X Code %X Arg %X <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n",
+                                 "FatalOp: Type %X Code %X Arg %X <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n",
                                  (u32) operand[0]->integer.value,
                                  (u32) operand[1]->integer.value,
                                  (u32) operand[2]->integer.value));
        acpi_integer index;
        acpi_size length;
 
-       ACPI_FUNCTION_TRACE_STR("ex_opcode_3A_1T_1R",
+       ACPI_FUNCTION_TRACE_STR(ex_opcode_3A_1T_1R,
                                acpi_ps_get_opcode_name(walk_state->opcode));
 
        switch (walk_state->opcode) {
 
        acpi_integer index;
        union acpi_operand_object *this_element;
 
-       ACPI_FUNCTION_TRACE_STR("ex_opcode_6A_0T_1R",
+       ACPI_FUNCTION_TRACE_STR(ex_opcode_6A_0T_1R,
                                acpi_ps_get_opcode_name(walk_state->opcode));
 
        switch (walk_state->opcode) {
 
        u32 minimum_accesses = 0xFFFFFFFF;
        u32 accesses;
 
-       ACPI_FUNCTION_TRACE("ex_generate_access");
+       ACPI_FUNCTION_TRACE(ex_generate_access);
 
        /* Round Field start offset and length to "minimal" byte boundaries */
 
                        accesses = field_end_offset - field_start_offset;
 
                        ACPI_DEBUG_PRINT((ACPI_DB_BFIELD,
-                                         "access_width %d end is within region\n",
+                                         "AccessWidth %d end is within region\n",
                                          access_byte_width));
 
                        ACPI_DEBUG_PRINT((ACPI_DB_BFIELD,
                        }
                } else {
                        ACPI_DEBUG_PRINT((ACPI_DB_BFIELD,
-                                         "access_width %d end is NOT within region\n",
+                                         "AccessWidth %d end is NOT within region\n",
                                          access_byte_width));
                        if (access_byte_width == 1) {
                                ACPI_DEBUG_PRINT((ACPI_DB_BFIELD,
        u32 byte_alignment;
        u32 bit_length;
 
-       ACPI_FUNCTION_TRACE("ex_decode_field_access");
+       ACPI_FUNCTION_TRACE(ex_decode_field_access);
 
        access = (field_flags & AML_FIELD_ACCESS_TYPE_MASK);
 
        u32 byte_alignment;
        u32 nearest_byte_address;
 
-       ACPI_FUNCTION_TRACE("ex_prep_common_field_object");
+       ACPI_FUNCTION_TRACE(ex_prep_common_field_object);
 
        /*
         * Note: the structure being initialized is the
        u32 type;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ex_prep_field_value");
+       ACPI_FUNCTION_TRACE(ex_prep_field_value);
 
        /* Parameter validation */
 
        if (info->field_type != ACPI_TYPE_LOCAL_INDEX_FIELD) {
                if (!info->region_node) {
-                       ACPI_ERROR((AE_INFO, "Null region_node"));
+                       ACPI_ERROR((AE_INFO, "Null RegionNode"));
                        return_ACPI_STATUS(AE_AML_NO_OPERAND);
                }
 
                acpi_ut_add_reference(obj_desc->field.region_obj);
 
                ACPI_DEBUG_PRINT((ACPI_DB_BFIELD,
-                                 "region_field: bit_off %X, Off %X, Gran %X, Region %p\n",
+                                 "RegionField: BitOff %X, Off %X, Gran %X, Region %p\n",
                                  obj_desc->field.start_field_bit_offset,
                                  obj_desc->field.base_byte_offset,
                                  obj_desc->field.access_byte_width,
                acpi_ut_add_reference(obj_desc->bank_field.bank_obj);
 
                ACPI_DEBUG_PRINT((ACPI_DB_BFIELD,
-                                 "Bank Field: bit_off %X, Off %X, Gran %X, Region %p, bank_reg %p\n",
+                                 "Bank Field: BitOff %X, Off %X, Gran %X, Region %p, BankReg %p\n",
                                  obj_desc->bank_field.start_field_bit_offset,
                                  obj_desc->bank_field.base_byte_offset,
                                  obj_desc->field.access_byte_width,
                acpi_ut_add_reference(obj_desc->index_field.index_obj);
 
                /*
-                * February 2006: Changed to match MS behavior
+                * April 2006: Changed to match MS behavior
                 *
                 * The value written to the Index register is the byte offset of the
-                * target field.
+                * target field in units of the granularity of the index_field
                 *
                 * Previously, the value was calculated as an index in terms of the
                 * width of the Data register, as below:
                 *
-                *   obj_desc->index_field.Value = (u32)
-                *       (Info->field_bit_position / ACPI_MUL_8 (
-                *           obj_desc->Field.access_byte_width));
+                *      obj_desc->index_field.Value = (u32)
+                *          (Info->field_bit_position / ACPI_MUL_8 (
+                *              obj_desc->Field.access_byte_width));
+                *
+                * February 2006: Tried value as a byte offset:
+                *      obj_desc->index_field.Value = (u32)
+                *          ACPI_DIV_8 (Info->field_bit_position);
                 */
                obj_desc->index_field.value =
-                   (u32) ACPI_DIV_8(info->field_bit_position);
+                   (u32) ACPI_ROUND_DOWN(ACPI_DIV_8(info->field_bit_position),
+                                         obj_desc->index_field.
+                                         access_byte_width);
 
                ACPI_DEBUG_PRINT((ACPI_DB_BFIELD,
-                                 "index_field: bit_off %X, Off %X, Value %X, Gran %X, Index %p, Data %p\n",
+                                 "IndexField: BitOff %X, Off %X, Value %X, Gran %X, Index %p, Data %p\n",
                                  obj_desc->index_field.start_field_bit_offset,
                                  obj_desc->index_field.base_byte_offset,
                                  obj_desc->index_field.value,
                                       acpi_ns_get_type(info->field_node));
 
        ACPI_DEBUG_PRINT((ACPI_DB_BFIELD,
-                         "Set named_obj %p [%4.4s], obj_desc %p\n",
+                         "Set NamedObj %p [%4.4s], ObjDesc %p\n",
                          info->field_node,
                          acpi_ut_get_node_name(info->field_node), obj_desc));
 
 
        u32 remainder;
 #endif
 
-       ACPI_FUNCTION_TRACE("ex_system_memory_space_handler");
+       ACPI_FUNCTION_TRACE(ex_system_memory_space_handler);
 
        /* Validate and translate the bit width */
 
                break;
 
        default:
-               ACPI_ERROR((AE_INFO, "Invalid system_memory width %d",
+               ACPI_ERROR((AE_INFO, "Invalid SystemMemory width %d",
                            bit_width));
                return_ACPI_STATUS(AE_AML_OPERAND_VALUE);
        }
        acpi_status status = AE_OK;
        u32 value32;
 
-       ACPI_FUNCTION_TRACE("ex_system_io_space_handler");
+       ACPI_FUNCTION_TRACE(ex_system_io_space_handler);
 
        ACPI_DEBUG_PRINT((ACPI_DB_INFO,
                          "System-IO (width %d) R/W %d Address=%8.8X%8.8X\n",
        struct acpi_pci_id *pci_id;
        u16 pci_register;
 
-       ACPI_FUNCTION_TRACE("ex_pci_config_space_handler");
+       ACPI_FUNCTION_TRACE(ex_pci_config_space_handler);
 
        /*
         *  The arguments to acpi_os(Read|Write)pci_configuration are:
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ex_cmos_space_handler");
+       ACPI_FUNCTION_TRACE(ex_cmos_space_handler);
 
        return_ACPI_STATUS(status);
 }
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ex_pci_bar_space_handler");
+       ACPI_FUNCTION_TRACE(ex_pci_bar_space_handler);
 
        return_ACPI_STATUS(status);
 }
        u32 i;
        char *logical_addr_ptr;
 
-       ACPI_FUNCTION_TRACE("ex_data_table_space_handler");
+       ACPI_FUNCTION_TRACE(ex_data_table_space_handler);
 
        logical_addr_ptr = ACPI_PHYSADDR_TO_PTR(address);
 
 
        struct acpi_namespace_node *node;
        acpi_object_type entry_type;
 
-       ACPI_FUNCTION_TRACE("ex_resolve_node_to_value");
+       ACPI_FUNCTION_TRACE(ex_resolve_node_to_value);
 
        /*
         * The stack pointer points to a struct acpi_namespace_node (Node).  Get the
        source_desc = acpi_ns_get_attached_object(node);
        entry_type = acpi_ns_get_type((acpi_handle) node);
 
-       ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Entry=%p source_desc=%p [%s]\n",
+       ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Entry=%p SourceDesc=%p [%s]\n",
                          node, source_desc,
                          acpi_ut_get_type_name(entry_type)));
 
        case ACPI_TYPE_LOCAL_INDEX_FIELD:
 
                ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                                 "field_read Node=%p source_desc=%p Type=%X\n",
+                                 "FieldRead Node=%p SourceDesc=%p Type=%X\n",
                                  node, source_desc, entry_type));
 
                status =
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_resolve_to_value", stack_ptr);
+       ACPI_FUNCTION_TRACE_PTR(ex_resolve_to_value, stack_ptr);
 
        if (!stack_ptr || !*stack_ptr) {
                ACPI_ERROR((AE_INFO, "Internal - null pointer"));
        union acpi_operand_object *obj_desc;
        u16 opcode;
 
-       ACPI_FUNCTION_TRACE("ex_resolve_object_to_value");
+       ACPI_FUNCTION_TRACE(ex_resolve_object_to_value);
 
        stack_desc = *stack_ptr;
 
                        }
 
                        ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                                         "[Arg/Local %X] value_obj is %p\n",
+                                         "[Arg/Local %X] ValueObj is %p\n",
                                          stack_desc->reference.offset,
                                          obj_desc));
 
                                /* Invalid reference object */
 
                                ACPI_ERROR((AE_INFO,
-                                           "Unknown target_type %X in Index/Reference obj %p",
+                                           "Unknown TargetType %X in Index/Reference obj %p",
                                            stack_desc->reference.target_type,
                                            stack_desc));
                                status = AE_AML_INTERNAL;
        case ACPI_TYPE_LOCAL_INDEX_FIELD:
 
                ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                                 "field_read source_desc=%p Type=%X\n",
+                                 "FieldRead SourceDesc=%p Type=%X\n",
                                  stack_desc,
                                  ACPI_GET_OBJECT_TYPE(stack_desc)));
 
        acpi_object_type type;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_ex_resolve_multiple");
+       ACPI_FUNCTION_TRACE(acpi_ex_resolve_multiple);
 
        /* Operand can be either a namespace node or an operand descriptor */
 
 
                case AML_DEBUG_OP:
 
-                       /* The Debug Object is of type "debug_object" */
+                       /* The Debug Object is of type "DebugObject" */
 
                        type = ACPI_TYPE_DEBUG_OBJECT;
                        goto exit;
 
        acpi_object_type type_needed;
        u16 target_op = 0;
 
-       ACPI_FUNCTION_TRACE_U32("ex_resolve_operands", opcode);
+       ACPI_FUNCTION_TRACE_U32(ex_resolve_operands, opcode);
 
        op_info = acpi_ps_get_opcode_info(opcode);
        if (op_info->class == AML_CLASS_UNKNOWN) {
        }
 
        ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                         "Opcode %X [%s] required_operand_types=%8.8X\n",
+                         "Opcode %X [%s] RequiredOperandTypes=%8.8X\n",
                          opcode, op_info->name, arg_types));
 
        /*
 
                                        ACPI_DEBUG_ONLY_MEMBERS(ACPI_DEBUG_PRINT
                                                                ((ACPI_DB_EXEC,
-                                                                 "Operand is a Reference, ref_opcode [%s]\n",
+                                                                 "Operand is a Reference, RefOpcode [%s]\n",
                                                                  (acpi_ps_get_opcode_info
                                                                   (obj_desc->
                                                                    reference.
 
                        default:
                                ACPI_ERROR((AE_INFO,
-                                           "Needed [Region/region_field], found [%s] %p",
+                                           "Needed [Region/RegionField], found [%s] %p",
                                            acpi_ut_get_object_type_name
                                            (obj_desc), obj_desc));
 
 
 {
        u32 i;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_do_debug_object", source_desc);
+       ACPI_FUNCTION_TRACE_PTR(ex_do_debug_object, source_desc);
 
        ACPI_DEBUG_PRINT_RAW((ACPI_DB_DEBUG_OBJECT, "[ACPI Debug] %*s",
                              level, " "));
        acpi_status status = AE_OK;
        union acpi_operand_object *ref_desc = dest_desc;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_store", dest_desc);
+       ACPI_FUNCTION_TRACE_PTR(ex_store, dest_desc);
 
        /* Validate parameters */
 
 
                ACPI_DUMP_STACK_ENTRY(source_desc);
                ACPI_DUMP_STACK_ENTRY(dest_desc);
-               ACPI_DUMP_OPERANDS(&dest_desc, ACPI_IMODE_EXECUTE, "ex_store",
+               ACPI_DUMP_OPERANDS(&dest_desc, ACPI_IMODE_EXECUTE, "ExStore",
                                   2,
                                   "Target is not a Reference or Constant object");
 
        u8 value = 0;
        u32 i;
 
-       ACPI_FUNCTION_TRACE("ex_store_object_to_index");
+       ACPI_FUNCTION_TRACE(ex_store_object_to_index);
 
        /*
         * Destination must be a reference pointer, and
                break;
 
        default:
-               ACPI_ERROR((AE_INFO,
-                           "Target is not a Package or buffer_field"));
+               ACPI_ERROR((AE_INFO, "Target is not a Package or BufferField"));
                status = AE_AML_OPERAND_TYPE;
                break;
        }
        union acpi_operand_object *new_desc;
        acpi_object_type target_type;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_store_object_to_node", source_desc);
+       ACPI_FUNCTION_TRACE_PTR(ex_store_object_to_node, source_desc);
 
        /* Get current type of the node, and object attached to Node */
 
 
        union acpi_operand_object *source_desc = *source_desc_ptr;
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ex_resolve_object");
+       ACPI_FUNCTION_TRACE(ex_resolve_object);
 
        /* Ensure we have a Target that can be stored to */
 
        union acpi_operand_object *actual_src_desc;
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_store_object_to_object", source_desc);
+       ACPI_FUNCTION_TRACE_PTR(ex_store_object_to_object, source_desc);
 
        actual_src_desc = source_desc;
        if (!dest_desc) {
 
        u32 length;
        u8 *buffer;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_store_buffer_to_buffer", source_desc);
+       ACPI_FUNCTION_TRACE_PTR(ex_store_buffer_to_buffer, source_desc);
 
        /* We know that source_desc is a buffer by now */
 
        u32 length;
        u8 *buffer;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_store_string_to_string", source_desc);
+       ACPI_FUNCTION_TRACE_PTR(ex_store_string_to_string, source_desc);
 
        /* We know that source_desc is a string by now */
 
 
        acpi_status status;
        acpi_status status2;
 
-       ACPI_FUNCTION_TRACE("ex_system_wait_semaphore");
+       ACPI_FUNCTION_TRACE(ex_system_wait_semaphore);
 
        status = acpi_os_wait_semaphore(semaphore, 1, 0);
        if (ACPI_SUCCESS(status)) {
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE_PTR("ex_system_acquire_mutex", obj_desc);
+       ACPI_FUNCTION_TRACE_PTR(ex_system_acquire_mutex, obj_desc);
 
        if (!obj_desc) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ex_system_release_mutex");
+       ACPI_FUNCTION_TRACE(ex_system_release_mutex);
 
        if (!obj_desc) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ex_system_signal_event");
+       ACPI_FUNCTION_TRACE(ex_system_signal_event);
 
        if (obj_desc) {
                status = acpi_os_signal_semaphore(obj_desc->event.semaphore, 1);
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ex_system_wait_event");
+       ACPI_FUNCTION_TRACE(ex_system_wait_event);
 
        if (obj_desc) {
                status =
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ex_enter_interpreter");
+       ACPI_FUNCTION_TRACE(ex_enter_interpreter);
 
        status = acpi_ut_acquire_mutex(ACPI_MTX_EXECUTE);
        if (ACPI_FAILURE(status)) {
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ex_exit_interpreter");
+       ACPI_FUNCTION_TRACE(ex_exit_interpreter);
 
        status = acpi_ut_release_mutex(ACPI_MTX_EXECUTE);
        if (ACPI_FAILURE(status)) {
        u8 locked = FALSE;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ex_acquire_global_lock");
+       ACPI_FUNCTION_TRACE(ex_acquire_global_lock);
 
        /* Only attempt lock if the always_lock bit is set */
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ex_release_global_lock");
+       ACPI_FUNCTION_TRACE(ex_release_global_lock);
 
        /* Only attempt unlock if the caller locked it */
 
        u32 num_digits;
        acpi_integer current_value;
 
-       ACPI_FUNCTION_TRACE("ex_digits_needed");
+       ACPI_FUNCTION_TRACE(ex_digits_needed);
 
        /* acpi_integer is unsigned, so we don't worry about a '-' prefix */
 
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("hw_initialize");
+       ACPI_FUNCTION_TRACE(hw_initialize);
 
        /* We must have the ACPI tables by the time we get here */
 
        acpi_status status;
        u32 retry;
 
-       ACPI_FUNCTION_TRACE("hw_set_mode");
+       ACPI_FUNCTION_TRACE(hw_set_mode);
 
        /*
         * ACPI 2.0 clarified that if SMI_CMD in FADT is zero,
        acpi_status status;
        u32 value;
 
-       ACPI_FUNCTION_TRACE("hw_get_mode");
+       ACPI_FUNCTION_TRACE(hw_get_mode);
 
        /*
         * ACPI 2.0 clarified that if SMI_CMD in FADT is zero,
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("hw_disable_all_gpes");
+       ACPI_FUNCTION_TRACE(hw_disable_all_gpes);
 
        status = acpi_ev_walk_gpe_list(acpi_hw_disable_gpe_block);
        status = acpi_ev_walk_gpe_list(acpi_hw_clear_gpe_block);
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("hw_enable_all_runtime_gpes");
+       ACPI_FUNCTION_TRACE(hw_enable_all_runtime_gpes);
 
        status = acpi_ev_walk_gpe_list(acpi_hw_enable_runtime_gpe_block);
        return_ACPI_STATUS(status);
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("hw_enable_all_wakeup_gpes");
+       ACPI_FUNCTION_TRACE(hw_enable_all_wakeup_gpes);
 
        status = acpi_ev_walk_gpe_list(acpi_hw_enable_wakeup_gpe_block);
        return_ACPI_STATUS(status);
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("hw_clear_acpi_status");
+       ACPI_FUNCTION_TRACE(hw_clear_acpi_status);
 
        ACPI_DEBUG_PRINT((ACPI_DB_IO, "About to write %04X to %04X\n",
                          ACPI_BITMASK_ALL_FIXED_STATUS,
        struct acpi_parameter_info info;
        char *sleep_state_name;
 
-       ACPI_FUNCTION_TRACE("acpi_get_sleep_type_data");
+       ACPI_FUNCTION_TRACE(acpi_get_sleep_type_data);
 
        /* Validate parameters */
 
        status = acpi_ns_evaluate_by_name(sleep_state_name, &info);
        if (ACPI_FAILURE(status)) {
                ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                                 "%s while evaluating sleep_state [%s]\n",
+                                 "%s while evaluating SleepState [%s]\n",
                                  acpi_format_exception(status),
                                  sleep_state_name));
 
 
        if (ACPI_FAILURE(status)) {
                ACPI_EXCEPTION((AE_INFO, status,
-                               "While evaluating sleep_state [%s], bad Sleep object %p type %s",
+                               "While evaluating SleepState [%s], bad Sleep object %p type %s",
                                sleep_state_name, info.return_object,
                                acpi_ut_get_object_type_name(info.
                                                             return_object)));
        ACPI_FUNCTION_ENTRY();
 
        if (register_id > ACPI_BITREG_MAX) {
-               ACPI_ERROR((AE_INFO, "Invalid bit_register ID: %X",
+               ACPI_ERROR((AE_INFO, "Invalid BitRegister ID: %X",
                            register_id));
                return (NULL);
        }
        struct acpi_bit_register_info *bit_reg_info;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_get_register");
+       ACPI_FUNCTION_TRACE(acpi_get_register);
 
        /* Get the info structure corresponding to the requested ACPI Register */
 
        struct acpi_bit_register_info *bit_reg_info;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_U32("acpi_set_register", register_id);
+       ACPI_FUNCTION_TRACE_U32(acpi_set_register, register_id);
 
        /* Get the info structure corresponding to the requested ACPI Register */
 
        bit_reg_info = acpi_hw_get_bit_register_info(register_id);
        if (!bit_reg_info) {
-               ACPI_ERROR((AE_INFO, "Bad ACPI HW register_id: %X",
+               ACPI_ERROR((AE_INFO, "Bad ACPI HW RegisterId: %X",
                            register_id));
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        }
        u32 value2 = 0;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("hw_register_read");
+       ACPI_FUNCTION_TRACE(hw_register_read);
 
        if (ACPI_MTX_LOCK == use_lock) {
                status = acpi_ut_acquire_mutex(ACPI_MTX_HARDWARE);
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("hw_register_write");
+       ACPI_FUNCTION_TRACE(hw_register_write);
 
        if (ACPI_MTX_LOCK == use_lock) {
                status = acpi_ut_acquire_mutex(ACPI_MTX_HARDWARE);
        u64 address;
        acpi_status status;
 
-       ACPI_FUNCTION_NAME("hw_low_level_read");
+       ACPI_FUNCTION_NAME(hw_low_level_read);
 
        /*
         * Must have a valid pointer to a GAS structure, and
        u64 address;
        acpi_status status;
 
-       ACPI_FUNCTION_NAME("hw_low_level_write");
+       ACPI_FUNCTION_NAME(hw_low_level_write);
 
        /*
         * Must have a valid pointer to a GAS structure, and
 
 acpi_set_firmware_waking_vector(acpi_physical_address physical_address)
 {
 
-       ACPI_FUNCTION_TRACE("acpi_set_firmware_waking_vector");
+       ACPI_FUNCTION_TRACE(acpi_set_firmware_waking_vector);
 
        /* Set the vector */
 
 acpi_get_firmware_waking_vector(acpi_physical_address * physical_address)
 {
 
-       ACPI_FUNCTION_TRACE("acpi_get_firmware_waking_vector");
+       ACPI_FUNCTION_TRACE(acpi_get_firmware_waking_vector);
 
        if (!physical_address) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        struct acpi_object_list arg_list;
        union acpi_object arg;
 
-       ACPI_FUNCTION_TRACE("acpi_enter_sleep_state_prep");
+       ACPI_FUNCTION_TRACE(acpi_enter_sleep_state_prep);
 
        /*
         * _PSW methods could be run here to enable wake-on keyboard, LAN, etc.
        u32 in_value;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_enter_sleep_state");
+       ACPI_FUNCTION_TRACE(acpi_enter_sleep_state);
 
        if ((acpi_gbl_sleep_type_a > ACPI_SLEEP_TYPE_MAX) ||
            (acpi_gbl_sleep_type_b > ACPI_SLEEP_TYPE_MAX)) {
        u32 in_value;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_enter_sleep_state_s4bios");
+       ACPI_FUNCTION_TRACE(acpi_enter_sleep_state_s4bios);
 
        status =
            acpi_set_register(ACPI_BITREG_WAKE_STATUS, 1, ACPI_MTX_DO_NOT_LOCK);
        u32 PM1Acontrol;
        u32 PM1Bcontrol;
 
-       ACPI_FUNCTION_TRACE("acpi_leave_sleep_state");
+       ACPI_FUNCTION_TRACE(acpi_leave_sleep_state);
 
        /*
         * Set SLP_TYPE and SLP_EN to state S0.
 
  ******************************************************************************/
 acpi_status acpi_get_timer_resolution(u32 * resolution)
 {
-       ACPI_FUNCTION_TRACE("acpi_get_timer_resolution");
+       ACPI_FUNCTION_TRACE(acpi_get_timer_resolution);
 
        if (!resolution) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_get_timer");
+       ACPI_FUNCTION_TRACE(acpi_get_timer);
 
        if (!ticks) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        u32 delta_ticks;
        acpi_integer quotient;
 
-       ACPI_FUNCTION_TRACE("acpi_get_timer_duration");
+       ACPI_FUNCTION_TRACE(acpi_get_timer_duration);
 
        if (!time_elapsed) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
 
        union acpi_operand_object *obj_desc;
        acpi_string val = NULL;
 
-       ACPI_FUNCTION_TRACE("ns_root_initialize");
+       ACPI_FUNCTION_TRACE(ns_root_initialize);
 
        status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE);
        if (ACPI_FAILURE(status)) {
        u32 local_flags = flags & ~(ACPI_NS_ERROR_IF_FOUND |
                                    ACPI_NS_SEARCH_PARENT);
 
-       ACPI_FUNCTION_TRACE("ns_lookup");
+       ACPI_FUNCTION_TRACE(ns_lookup);
 
        if (!return_node) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
                        /* Complain about a type mismatch */
 
                        ACPI_WARNING((AE_INFO,
-                                     "ns_lookup: Type mismatch on %4.4s (%s), searching for (%s)",
+                                     "NsLookup: Type mismatch on %4.4s (%s), searching for (%s)",
                                      ACPI_CAST_PTR(char, &simple_name),
                                      acpi_ut_get_type_name(this_node->type),
                                      acpi_ut_get_type_name
 
 {
        struct acpi_namespace_node *node;
 
-       ACPI_FUNCTION_TRACE("ns_create_node");
+       ACPI_FUNCTION_TRACE(ns_create_node);
 
        node = acpi_os_acquire_object(acpi_gbl_namespace_cache);
        if (!node) {
        struct acpi_namespace_node *prev_node;
        struct acpi_namespace_node *next_node;
 
-       ACPI_FUNCTION_TRACE_PTR("ns_delete_node", node);
+       ACPI_FUNCTION_TRACE_PTR(ns_delete_node, node);
 
        parent_node = acpi_ns_get_parent_node(node);
 
        acpi_owner_id owner_id = 0;
        struct acpi_namespace_node *child_node;
 
-       ACPI_FUNCTION_TRACE("ns_install_node");
+       ACPI_FUNCTION_TRACE(ns_install_node);
 
        /*
         * Get the owner ID from the Walk state
        struct acpi_namespace_node *next_node;
        u8 flags;
 
-       ACPI_FUNCTION_TRACE_PTR("ns_delete_children", parent_node);
+       ACPI_FUNCTION_TRACE_PTR(ns_delete_children, parent_node);
 
        if (!parent_node) {
                return_VOID;
        struct acpi_namespace_node *child_node = NULL;
        u32 level = 1;
 
-       ACPI_FUNCTION_TRACE("ns_delete_namespace_subtree");
+       ACPI_FUNCTION_TRACE(ns_delete_namespace_subtree);
 
        if (!parent_node) {
                return_VOID;
        u32 level;
        struct acpi_namespace_node *parent_node;
 
-       ACPI_FUNCTION_TRACE_U32("ns_delete_namespace_by_owner", owner_id);
+       ACPI_FUNCTION_TRACE_U32(ns_delete_namespace_by_owner, owner_id);
 
        if (owner_id == 0) {
                return_VOID;
 
 {
        acpi_native_uint i;
 
-       ACPI_FUNCTION_NAME("ns_print_pathname");
+       ACPI_FUNCTION_NAME(ns_print_pathname);
 
        if (!(acpi_dbg_level & ACPI_LV_NAMES)
            || !(acpi_dbg_layer & ACPI_NAMESPACE)) {
 acpi_ns_dump_pathname(acpi_handle handle, char *msg, u32 level, u32 component)
 {
 
-       ACPI_FUNCTION_TRACE("ns_dump_pathname");
+       ACPI_FUNCTION_TRACE(ns_dump_pathname);
 
        /* Do this only if the requested debug level and component are enabled */
 
        u32 dbg_level;
        u32 i;
 
-       ACPI_FUNCTION_NAME("ns_dump_one_object");
+       ACPI_FUNCTION_NAME(ns_dump_one_object);
 
        /* Is output enabled? */
 
 {
        acpi_handle search_handle = search_base;
 
-       ACPI_FUNCTION_TRACE("ns_dump_tables");
+       ACPI_FUNCTION_TRACE(ns_dump_tables);
 
        if (!acpi_gbl_root_node) {
                /*
 
        acpi_status status;
        u32 i;
 
-       ACPI_FUNCTION_NAME("ns_dump_one_device");
+       ACPI_FUNCTION_NAME(ns_dump_one_device);
 
        status =
            acpi_ns_dump_one_object(obj_handle, level, context, return_value);
        acpi_handle sys_bus_handle;
        acpi_status status;
 
-       ACPI_FUNCTION_NAME("ns_dump_root_devices");
+       ACPI_FUNCTION_NAME(ns_dump_root_devices);
 
        /* Only dump the table if tracing is enabled */
 
 
        union acpi_generic_state *scope_info;
        char *internal_path = NULL;
 
-       ACPI_FUNCTION_TRACE("ns_evaluate_relative");
+       ACPI_FUNCTION_TRACE(ns_evaluate_relative);
 
        /*
         * Must have a valid object handle
        acpi_status status;
        char *internal_path = NULL;
 
-       ACPI_FUNCTION_TRACE("ns_evaluate_by_name");
+       ACPI_FUNCTION_TRACE(ns_evaluate_by_name);
 
        /* Build an internal name string for the method */
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ns_evaluate_by_handle");
+       ACPI_FUNCTION_TRACE(ns_evaluate_by_handle);
 
        /* Check if namespace has been initialized */
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ns_execute_control_method");
+       ACPI_FUNCTION_TRACE(ns_execute_control_method);
 
        /* Verify that there is a method associated with this object */
 
        acpi_status status = AE_OK;
        struct acpi_namespace_node *resolved_node = info->node;
 
-       ACPI_FUNCTION_TRACE("ns_get_object_value");
+       ACPI_FUNCTION_TRACE(ns_get_object_value);
 
        /*
         * Objects require additional resolution steps (e.g., the Node may be a
 
 acpi_ns_init_one_device(acpi_handle obj_handle,
                        u32 nesting_level, void *context, void **return_value);
 
+static acpi_status
+acpi_ns_find_ini_methods(acpi_handle obj_handle,
+                        u32 nesting_level, void *context, void **return_value);
+
 /*******************************************************************************
  *
  * FUNCTION:    acpi_ns_initialize_objects
        acpi_status status;
        struct acpi_init_walk_info info;
 
-       ACPI_FUNCTION_TRACE("ns_initialize_objects");
+       ACPI_FUNCTION_TRACE(ns_initialize_objects);
 
        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
                          "**** Starting initialization of namespace objects ****\n"));
                                     ACPI_UINT32_MAX, acpi_ns_init_one_object,
                                     &info, NULL);
        if (ACPI_FAILURE(status)) {
-               ACPI_EXCEPTION((AE_INFO, status, "During walk_namespace"));
+               ACPI_EXCEPTION((AE_INFO, status, "During WalkNamespace"));
        }
 
        ACPI_DEBUG_PRINT_RAW((ACPI_DB_INIT,
        acpi_status status;
        struct acpi_device_walk_info info;
 
-       ACPI_FUNCTION_TRACE("ns_initialize_devices");
+       ACPI_FUNCTION_TRACE(ns_initialize_devices);
 
        /* Init counters */
 
        info.num_INI = 0;
 
        ACPI_DEBUG_PRINT_RAW((ACPI_DB_INIT,
-                             "Executing all Device _STA and_INI methods:"));
+                             "Initializing Device/Processor/Thermal objects by executing _INI methods:"));
+
+       /* Tree analysis: find all subtrees that contain _INI methods */
 
-       status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE);
+       status = acpi_ns_walk_namespace(ACPI_TYPE_ANY, ACPI_ROOT_OBJECT,
+                                       ACPI_UINT32_MAX, FALSE,
+                                       acpi_ns_find_ini_methods, &info, NULL);
        if (ACPI_FAILURE(status)) {
-               return_ACPI_STATUS(status);
+               ACPI_EXCEPTION((AE_INFO, status, "During WalkNamespace"));
        }
 
-       /* Walk namespace for all objects */
+       /* Walk namespace to execute all _INIs on present devices */
 
        status = acpi_ns_walk_namespace(ACPI_TYPE_ANY, ACPI_ROOT_OBJECT,
-                                       ACPI_UINT32_MAX, TRUE,
+                                       ACPI_UINT32_MAX, FALSE,
                                        acpi_ns_init_one_device, &info, NULL);
-
-       (void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
-
        if (ACPI_FAILURE(status)) {
-               ACPI_EXCEPTION((AE_INFO, status, "During walk_namespace"));
+               ACPI_EXCEPTION((AE_INFO, status, "During WalkNamespace"));
        }
 
        ACPI_DEBUG_PRINT_RAW((ACPI_DB_INIT,
-                             "\n%hd Devices found - executed %hd _STA, %hd _INI methods\n",
-                             info.device_count, info.num_STA, info.num_INI));
+                             "\nExecuted %hd _INI methods requiring %hd _STA executions (examined %hd objects)\n",
+                             info.num_INI, info.num_STA, info.device_count));
 
        return_ACPI_STATUS(status);
 }
            (struct acpi_namespace_node *)obj_handle;
        union acpi_operand_object *obj_desc;
 
-       ACPI_FUNCTION_NAME("ns_init_one_object");
+       ACPI_FUNCTION_NAME(ns_init_one_object);
 
        info->object_count++;
 
        return (AE_OK);
 }
 
+/*******************************************************************************
+ *
+ * FUNCTION:    acpi_ns_find_ini_methods
+ *
+ * PARAMETERS:  acpi_walk_callback
+ *
+ * RETURN:      acpi_status
+ *
+ * DESCRIPTION: Called during namespace walk. Finds objects named _INI under
+ *              device/processor/thermal objects, and marks the entire subtree
+ *              with a SUBTREE_HAS_INI flag. This flag is used during the
+ *              subsequent device initialization walk to avoid entire subtrees
+ *              that do not contain an _INI.
+ *
+ ******************************************************************************/
+
+static acpi_status
+acpi_ns_find_ini_methods(acpi_handle obj_handle,
+                        u32 nesting_level, void *context, void **return_value)
+{
+       struct acpi_device_walk_info *info =
+           ACPI_CAST_PTR(struct acpi_device_walk_info, context);
+       struct acpi_namespace_node *node;
+       struct acpi_namespace_node *parent_node;
+
+       /* Keep count of device/processor/thermal objects */
+
+       node = ACPI_CAST_PTR(struct acpi_namespace_node, obj_handle);
+       if ((node->type == ACPI_TYPE_DEVICE) ||
+           (node->type == ACPI_TYPE_PROCESSOR) ||
+           (node->type == ACPI_TYPE_THERMAL)) {
+               info->device_count++;
+               return (AE_OK);
+       }
+
+       /* We are only looking for methods named _INI */
+
+       if (!ACPI_COMPARE_NAME(node->name.ascii, METHOD_NAME__INI)) {
+               return (AE_OK);
+       }
+
+       /*
+        * The only _INI methods that we care about are those that are
+        * present under Device, Processor, and Thermal objects.
+        */
+       parent_node = acpi_ns_get_parent_node(node);
+       switch (parent_node->type) {
+       case ACPI_TYPE_DEVICE:
+       case ACPI_TYPE_PROCESSOR:
+       case ACPI_TYPE_THERMAL:
+
+               /* Mark parent and bubble up the INI present flag to the root */
+
+               while (parent_node) {
+                       parent_node->flags |= ANOBJ_SUBTREE_HAS_INI;
+                       parent_node = acpi_ns_get_parent_node(parent_node);
+               }
+               break;
+
+       default:
+               break;
+       }
+
+       return (AE_OK);
+}
+
 /*******************************************************************************
  *
  * FUNCTION:    acpi_ns_init_one_device
                        u32 nesting_level, void *context, void **return_value)
 {
        struct acpi_device_walk_info *info =
-           (struct acpi_device_walk_info *)context;
+           ACPI_CAST_PTR(struct acpi_device_walk_info, context);
        struct acpi_parameter_info pinfo;
        u32 flags;
        acpi_status status;
-       struct acpi_namespace_node *ini_node;
        struct acpi_namespace_node *device_node;
 
-       ACPI_FUNCTION_TRACE("ns_init_one_device");
+       ACPI_FUNCTION_TRACE(ns_init_one_device);
 
-       device_node = acpi_ns_map_handle_to_node(obj_handle);
-       if (!device_node) {
-               return_ACPI_STATUS(AE_BAD_PARAMETER);
-       }
+       /* We are interested in Devices, Processors and thermal_zones only */
 
-       /*
-        * We will run _STA/_INI on Devices, Processors and thermal_zones only
-        */
+       device_node = ACPI_CAST_PTR(struct acpi_namespace_node, obj_handle);
        if ((device_node->type != ACPI_TYPE_DEVICE) &&
            (device_node->type != ACPI_TYPE_PROCESSOR) &&
            (device_node->type != ACPI_TYPE_THERMAL)) {
                return_ACPI_STATUS(AE_OK);
        }
 
-       if ((acpi_dbg_level <= ACPI_LV_ALL_EXCEPTIONS) &&
-           (!(acpi_dbg_level & ACPI_LV_INFO))) {
-               ACPI_DEBUG_PRINT_RAW((ACPI_DB_INIT, "."));
-       }
-
-       info->device_count++;
-
        /*
-        * Check if the _INI method exists for this device -
-        * if _INI does not exist, there is no need to run _STA
-        * No _INI means device requires no initialization
+        * Because of an earlier namespace analysis, all subtrees that contain an
+        * _INI method are tagged.
+        *
+        * If this device subtree does not contain any _INI methods, we
+        * can exit now and stop traversing this entire subtree.
         */
-       status = acpi_ns_search_node(*ACPI_CAST_PTR(u32, METHOD_NAME__INI),
-                                    device_node, ACPI_TYPE_METHOD, &ini_node);
-       if (ACPI_FAILURE(status)) {
-
-               /* No _INI method found - move on to next device */
-
-               return_ACPI_STATUS(AE_OK);
+       if (!(device_node->flags & ANOBJ_SUBTREE_HAS_INI)) {
+               return_ACPI_STATUS(AE_CTRL_DEPTH);
        }
 
        /*
-        * Run _STA to determine if we can run _INI on the device -
-        * the device must be present before _INI can be run.
-        * However, _STA is not required - assume device present if no _STA
+        * Run _STA to determine if this device is present and functioning. We
+        * must know this information for two important reasons (from ACPI spec):
+        *
+        * 1) We can only run _INI if the device is present.
+        * 2) We must abort the device tree walk on this subtree if the device is
+        *    not present and is not functional (we will not examine the children)
+        *
+        * The _STA method is not required to be present under the device, we
+        * assume the device is present if _STA does not exist.
         */
-       ACPI_DEBUG_EXEC(acpi_ut_display_init_pathname(ACPI_TYPE_METHOD,
-                                                     device_node,
-                                                     METHOD_NAME__STA));
+       ACPI_DEBUG_EXEC(acpi_ut_display_init_pathname
+                       (ACPI_TYPE_METHOD, device_node, METHOD_NAME__STA));
 
-       pinfo.node = device_node;
-       pinfo.parameters = NULL;
-       pinfo.parameter_type = ACPI_PARAM_ARGS;
-
-       status = acpi_ut_execute_STA(pinfo.node, &flags);
+       status = acpi_ut_execute_STA(device_node, &flags);
        if (ACPI_FAILURE(status)) {
 
                /* Ignore error and move on to next device */
                return_ACPI_STATUS(AE_OK);
        }
 
+       /*
+        * Flags == -1 means that _STA was not found. In this case, we assume that
+        * the device is both present and functional.
+        *
+        * From the ACPI spec, description of _STA:
+        *
+        * "If a device object (including the processor object) does not have an
+        * _STA object, then OSPM assumes that all of the above bits are set (in
+        * other words, the device is present, ..., and functioning)"
+        */
        if (flags != ACPI_UINT32_MAX) {
                info->num_STA++;
        }
 
+       /*
+        * Examine the PRESENT and FUNCTIONING status bits
+        *
+        * Note: ACPI spec does not seem to specify behavior for the present but
+        * not functioning case, so we assume functioning if present.
+        */
        if (!(flags & ACPI_STA_DEVICE_PRESENT)) {
 
-               /* Don't look at children of a not present device */
-
-               return_ACPI_STATUS(AE_CTRL_DEPTH);
+               /* Device is not present, we must examine the Functioning bit */
+
+               if (flags & ACPI_STA_DEVICE_FUNCTIONING) {
+                       /*
+                        * Device is not present but is "functioning". In this case,
+                        * we will not run _INI, but we continue to examine the children
+                        * of this device.
+                        *
+                        * From the ACPI spec, description of _STA: (Note - no mention
+                        * of whether to run _INI or not on the device in question)
+                        *
+                        * "_STA may return bit 0 clear (not present) with bit 3 set
+                        * (device is functional). This case is used to indicate a valid
+                        * device for which no device driver should be loaded (for example,
+                        * a bridge device.) Children of this device may be present and
+                        * valid. OSPM should continue enumeration below a device whose
+                        * _STA returns this bit combination"
+                        */
+                       return_ACPI_STATUS(AE_OK);
+               } else {
+                       /*
+                        * Device is not present and is not functioning. We must abort the
+                        * walk of this subtree immediately -- don't look at the children
+                        * of such a device.
+                        *
+                        * From the ACPI spec, description of _INI:
+                        *
+                        * "If the _STA method indicates that the device is not present,
+                        * OSPM will not run the _INI and will not examine the children
+                        * of the device for _INI methods"
+                        */
+                       return_ACPI_STATUS(AE_CTRL_DEPTH);
+               }
        }
 
        /*
-        * The device is present and _INI exists. Run the _INI method.
-        * (We already have the _INI node from above)
+        * The device is present or is assumed present if no _STA exists.
+        * Run the _INI if it exists (not required to exist)
+        *
+        * Note: We know there is an _INI within this subtree, but it may not be
+        * under this particular device, it may be lower in the branch.
         */
-       ACPI_DEBUG_EXEC(acpi_ut_display_init_pathname(ACPI_TYPE_METHOD,
-                                                     pinfo.node,
-                                                     METHOD_NAME__INI));
+       ACPI_DEBUG_EXEC(acpi_ut_display_init_pathname
+                       (ACPI_TYPE_METHOD, device_node, METHOD_NAME__INI));
 
-       pinfo.node = ini_node;
-       status = acpi_ns_evaluate_by_handle(&pinfo);
-       if (ACPI_FAILURE(status)) {
-
-               /* Ignore error and move on to next device */
-
-#ifdef ACPI_DEBUG_OUTPUT
-               char *scope_name = acpi_ns_get_external_pathname(ini_node);
+       pinfo.node = device_node;
+       pinfo.parameters = NULL;
+       pinfo.parameter_type = ACPI_PARAM_ARGS;
 
-               ACPI_WARNING((AE_INFO, "%s._INI failed: %s",
-                             scope_name, acpi_format_exception(status)));
+       status = acpi_ns_evaluate_relative(METHOD_NAME__INI, &pinfo);
+       if (ACPI_SUCCESS(status)) {
 
-               ACPI_FREE(scope_name);
-#endif
-       } else {
                /* Delete any return object (especially if implicit_return is enabled) */
 
                if (pinfo.return_object) {
                        acpi_ut_remove_reference(pinfo.return_object);
                }
 
-               /* Count of successful INIs */
-
                info->num_INI++;
+               if ((acpi_dbg_level <= ACPI_LV_ALL_EXCEPTIONS) &&
+                   (!(acpi_dbg_level & ACPI_LV_INFO))) {
+                       ACPI_DEBUG_PRINT_RAW((ACPI_DB_INIT, "."));
+               }
        }
+#ifdef ACPI_DEBUG_OUTPUT
+       else if (status != AE_NOT_FOUND) {
 
-       if (acpi_gbl_init_handler) {
+               /* Ignore error and move on to next device */
+
+               char *scope_name = acpi_ns_get_external_pathname(pinfo.node);
 
-               /* External initialization handler is present, call it */
+               ACPI_EXCEPTION((AE_INFO, status, "during %s._INI execution",
+                               scope_name));
+               ACPI_FREE(scope_name);
+       }
+#endif
 
+       /* If an external initialization handler is present, call it */
+
+       if (acpi_gbl_init_handler) {
                status =
                    acpi_gbl_init_handler(pinfo.node, ACPI_INIT_DEVICE_INI);
        }
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ns_load_table");
+       ACPI_FUNCTION_TRACE(ns_load_table);
 
        /* Check if table contains valid AML (must be DSDT, PSDT, SSDT, etc.) */
 
        acpi_status status;
        struct acpi_table_desc *table_desc;
 
-       ACPI_FUNCTION_TRACE("ns_load_table_by_type");
+       ACPI_FUNCTION_TRACE(ns_load_table_by_type);
 
        status = acpi_ut_acquire_mutex(ACPI_MTX_TABLES);
        if (ACPI_FAILURE(status)) {
         * DSDT (one), SSDT/PSDT (multiple)
         */
        switch (table_type) {
-       case ACPI_TABLE_DSDT:
+       case ACPI_TABLE_ID_DSDT:
 
                ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Namespace load: DSDT\n"));
 
-               table_desc = acpi_gbl_table_lists[ACPI_TABLE_DSDT].next;
+               table_desc = acpi_gbl_table_lists[ACPI_TABLE_ID_DSDT].next;
 
                /* If table already loaded into namespace, just return */
 
                }
                break;
 
-       case ACPI_TABLE_SSDT:
-       case ACPI_TABLE_PSDT:
+       case ACPI_TABLE_ID_SSDT:
+       case ACPI_TABLE_ID_PSDT:
 
                ACPI_DEBUG_PRINT((ACPI_DB_INFO,
                                  "Namespace load: %d SSDT or PSDTs\n",
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_load_name_space");
+       ACPI_FUNCTION_TRACE(acpi_load_name_space);
 
        /* There must be at least a DSDT installed */
 
         * Load the namespace.  The DSDT is required,
         * but the SSDT and PSDT tables are optional.
         */
-       status = acpi_ns_load_table_by_type(ACPI_TABLE_DSDT);
+       status = acpi_ns_load_table_by_type(ACPI_TABLE_ID_DSDT);
        if (ACPI_FAILURE(status)) {
                return_ACPI_STATUS(status);
        }
 
        /* Ignore exceptions from these */
 
-       (void)acpi_ns_load_table_by_type(ACPI_TABLE_SSDT);
-       (void)acpi_ns_load_table_by_type(ACPI_TABLE_PSDT);
+       (void)acpi_ns_load_table_by_type(ACPI_TABLE_ID_SSDT);
+       (void)acpi_ns_load_table_by_type(ACPI_TABLE_ID_PSDT);
 
        ACPI_DEBUG_PRINT_RAW((ACPI_DB_INIT,
                              "ACPI Namespace successfully loaded at root %p\n",
        acpi_handle dummy;
        u32 level;
 
-       ACPI_FUNCTION_TRACE("ns_delete_subtree");
+       ACPI_FUNCTION_TRACE(ns_delete_subtree);
 
        parent_handle = start_handle;
        child_handle = NULL;
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ns_unload_name_space");
+       ACPI_FUNCTION_TRACE(ns_unload_name_space);
 
        /* Parameter validation */
 
 
        char *name_buffer;
        acpi_size size;
 
-       ACPI_FUNCTION_TRACE_PTR("ns_get_external_pathname", node);
+       ACPI_FUNCTION_TRACE_PTR(ns_get_external_pathname, node);
 
        /* Calculate required buffer size based on depth below root */
 
        struct acpi_namespace_node *node;
        acpi_size required_size;
 
-       ACPI_FUNCTION_TRACE_PTR("ns_handle_to_pathname", target_handle);
+       ACPI_FUNCTION_TRACE_PTR(ns_handle_to_pathname, target_handle);
 
        node = acpi_ns_map_handle_to_node(target_handle);
        if (!node) {
 
        union acpi_operand_object *last_obj_desc;
        acpi_object_type object_type = ACPI_TYPE_ANY;
 
-       ACPI_FUNCTION_TRACE("ns_attach_object");
+       ACPI_FUNCTION_TRACE(ns_attach_object);
 
        /*
         * Parameter validation
 
                /* Invalid handle */
 
-               ACPI_ERROR((AE_INFO, "Null named_obj handle"));
+               ACPI_ERROR((AE_INFO, "Null NamedObj handle"));
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        }
 
 
        if (node->object == object) {
                ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                                 "Obj %p already installed in name_obj %p\n",
+                                 "Obj %p already installed in NameObj %p\n",
                                  object, node));
 
                return_ACPI_STATUS(AE_OK);
 {
        union acpi_operand_object *obj_desc;
 
-       ACPI_FUNCTION_TRACE("ns_detach_object");
+       ACPI_FUNCTION_TRACE(ns_detach_object);
 
        obj_desc = node->object;
 
                                                       acpi_namespace_node
                                                       *node)
 {
-       ACPI_FUNCTION_TRACE_PTR("ns_get_attached_object", node);
+       ACPI_FUNCTION_TRACE_PTR(ns_get_attached_object, node);
 
        if (!node) {
                ACPI_WARNING((AE_INFO, "Null Node ptr"));
                                                        acpi_operand_object
                                                        *obj_desc)
 {
-       ACPI_FUNCTION_TRACE_PTR("ns_get_secondary_object", obj_desc);
+       ACPI_FUNCTION_TRACE_PTR(ns_get_secondary_object, obj_desc);
 
        if ((!obj_desc) ||
            (ACPI_GET_OBJECT_TYPE(obj_desc) == ACPI_TYPE_LOCAL_DATA) ||
 
        acpi_status status;
        struct acpi_walk_state *walk_state;
 
-       ACPI_FUNCTION_TRACE("ns_one_complete_parse");
+       ACPI_FUNCTION_TRACE(ns_one_complete_parse);
 
        /* Create and init a Root Node */
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ns_parse_table");
+       ACPI_FUNCTION_TRACE(ns_parse_table);
 
        /*
         * AML Parse, pass 1
 
 {
        struct acpi_namespace_node *next_node;
 
-       ACPI_FUNCTION_TRACE("ns_search_node");
+       ACPI_FUNCTION_TRACE(ns_search_node);
 
 #ifdef ACPI_DEBUG_OUTPUT
        if (ACPI_LV_NAMES & acpi_dbg_level) {
        acpi_status status;
        struct acpi_namespace_node *parent_node;
 
-       ACPI_FUNCTION_TRACE("ns_search_parent_tree");
+       ACPI_FUNCTION_TRACE(ns_search_parent_tree);
 
        parent_node = acpi_ns_get_parent_node(node);
 
        acpi_status status;
        struct acpi_namespace_node *new_node;
 
-       ACPI_FUNCTION_TRACE("ns_search_and_enter");
+       ACPI_FUNCTION_TRACE(ns_search_and_enter);
 
        /* Parameter validation */
 
        if (!node || !target_name || !return_node) {
                ACPI_ERROR((AE_INFO,
-                           "Null param: Node %p Name %X return_node %p",
+                           "Null param: Node %p Name %X ReturnNode %p",
                            node, target_name, return_node));
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        }
 
 
 acpi_object_type acpi_ns_get_type(struct acpi_namespace_node * node)
 {
-       ACPI_FUNCTION_TRACE("ns_get_type");
+       ACPI_FUNCTION_TRACE(ns_get_type);
 
        if (!node) {
                ACPI_WARNING((AE_INFO, "Null Node parameter"));
 
 u32 acpi_ns_local(acpi_object_type type)
 {
-       ACPI_FUNCTION_TRACE("ns_local");
+       ACPI_FUNCTION_TRACE(ns_local);
 
        if (!acpi_ut_valid_object_type(type)) {
 
        char *result = NULL;
        acpi_native_uint i;
 
-       ACPI_FUNCTION_TRACE("ns_build_internal_name");
+       ACPI_FUNCTION_TRACE(ns_build_internal_name);
 
        /* Setup the correct prefixes, counts, and pointers */
 
        struct acpi_namestring_info info;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ns_internalize_name");
+       ACPI_FUNCTION_TRACE(ns_internalize_name);
 
        if ((!external_name) || (*external_name == 0) || (!converted_name)) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        acpi_native_uint i = 0;
        acpi_native_uint j = 0;
 
-       ACPI_FUNCTION_TRACE("ns_externalize_name");
+       ACPI_FUNCTION_TRACE(ns_externalize_name);
 
        if (!internal_name_length || !internal_name || !converted_name) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
 {
        union acpi_operand_object *obj_desc;
 
-       ACPI_FUNCTION_TRACE("ns_terminate");
+       ACPI_FUNCTION_TRACE(ns_terminate);
 
        /*
         * 1) Free the entire namespace -- all nodes and objects
 
 u32 acpi_ns_opens_scope(acpi_object_type type)
 {
-       ACPI_FUNCTION_TRACE_STR("ns_opens_scope", acpi_ut_get_type_name(type));
+       ACPI_FUNCTION_TRACE_STR(ns_opens_scope, acpi_ut_get_type_name(type));
 
        if (!acpi_ut_valid_object_type(type)) {
 
        acpi_status status;
        char *internal_path = NULL;
 
-       ACPI_FUNCTION_TRACE_PTR("ns_get_node_by_path", pathname);
+       ACPI_FUNCTION_TRACE_PTR(ns_get_node_by_path, pathname);
 
        if (pathname) {
 
 {
        struct acpi_namespace_node *parent_node;
 
-       ACPI_FUNCTION_TRACE("ns_find_parent_name");
+       ACPI_FUNCTION_TRACE(ns_find_parent_name);
 
        if (child_node) {
 
 
        acpi_object_type child_type;
        u32 level;
 
-       ACPI_FUNCTION_TRACE("ns_walk_namespace");
+       ACPI_FUNCTION_TRACE(ns_walk_namespace);
 
        /* Special case for the namespace Root Node */
 
 
        acpi_status status;
        u8 must_free = FALSE;
 
-       ACPI_FUNCTION_TRACE("acpi_evaluate_object_typed");
+       ACPI_FUNCTION_TRACE(acpi_evaluate_object_typed);
 
        /* Return buffer must be valid */
 
        acpi_size buffer_space_needed;
        u32 i;
 
-       ACPI_FUNCTION_TRACE("acpi_evaluate_object");
+       ACPI_FUNCTION_TRACE(acpi_evaluate_object);
 
        info.node = handle;
        info.parameters = NULL;
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_walk_namespace");
+       ACPI_FUNCTION_TRACE(acpi_walk_namespace);
 
        /* Parameter validation */
 
        acpi_status status;
        struct acpi_get_devices_info info;
 
-       ACPI_FUNCTION_TRACE("acpi_get_devices");
+       ACPI_FUNCTION_TRACE(acpi_get_devices);
 
        /* Parameter validation */
 
 
  *
  * FUNCTION:    acpi_os_create_cache
  *
- * PARAMETERS:  CacheName       - Ascii name for the cache
- *              ObjectSize      - Size of each cached object
- *              MaxDepth        - Maximum depth of the cache (in objects)
- *              ReturnCache     - Where the new cache object is returned
+ * PARAMETERS:  name      - Ascii name for the cache
+ *              size      - Size of each cached object
+ *              depth     - Maximum depth of the cache (in objects) <ignored>
+ *              cache     - Where the new cache object is returned
  *
- * RETURN:      Status
+ * RETURN:      status
  *
  * DESCRIPTION: Create a cache object
  *
 acpi_os_create_cache(char *name, u16 size, u16 depth, acpi_cache_t ** cache)
 {
        *cache = kmem_cache_create(name, size, 0, 0, NULL, NULL);
-       return AE_OK;
+       if (cache == NULL)
+               return AE_ERROR;
+       else
+               return AE_OK;
 }
 
 /*******************************************************************************
        return object;
 }
 
+/******************************************************************************
+ *
+ * FUNCTION:    acpi_os_validate_interface
+ *
+ * PARAMETERS:  interface           - Requested interface to be validated
+ *
+ * RETURN:      AE_OK if interface is supported, AE_SUPPORT otherwise
+ *
+ * DESCRIPTION: Match an interface string to the interfaces supported by the
+ *              host. Strings originate from an AML call to the _OSI method.
+ *
+ *****************************************************************************/
+
+acpi_status
+acpi_os_validate_interface (char *interface)
+{
+
+    return AE_SUPPORT;
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION:    acpi_os_validate_address
+ *
+ * PARAMETERS:  space_id             - ACPI space ID
+ *              address             - Physical address
+ *              length              - Address length
+ *
+ * RETURN:      AE_OK if address/length is valid for the space_id. Otherwise,
+ *              should return AE_AML_ILLEGAL_ADDRESS.
+ *
+ * DESCRIPTION: Validate a system address via the host OS. Used to validate
+ *              the addresses accessed by AML operation regions.
+ *
+ *****************************************************************************/
+
+acpi_status
+acpi_os_validate_address (
+    u8                   space_id,
+    acpi_physical_address   address,
+    acpi_size               length)
+{
+
+    return AE_OK;
+}
+
+
 #endif
 
        acpi_native_uint byte_count;
        u8 byte_zero_mask = 0x3F;       /* Default [0:5] */
 
-       ACPI_FUNCTION_TRACE("ps_get_next_package_length");
+       ACPI_FUNCTION_TRACE(ps_get_next_package_length);
 
        /*
         * Byte 0 bits [6:7] contain the number of additional bytes
        u8 *start = parser_state->aml;
        u32 package_length;
 
-       ACPI_FUNCTION_TRACE("ps_get_next_package_end");
+       ACPI_FUNCTION_TRACE(ps_get_next_package_end);
 
        /* Function below updates parser_state->Aml */
 
        u8 *start = parser_state->aml;
        u8 *end = parser_state->aml;
 
-       ACPI_FUNCTION_TRACE("ps_get_next_namestring");
+       ACPI_FUNCTION_TRACE(ps_get_next_namestring);
 
        /* Point past any namestring prefix characters (backslash or carat) */
 
        struct acpi_namespace_node *node;
        union acpi_generic_state scope_info;
 
-       ACPI_FUNCTION_TRACE("ps_get_next_namepath");
+       ACPI_FUNCTION_TRACE(ps_get_next_namepath);
 
        path = acpi_ps_get_next_namestring(parser_state);
        acpi_ps_init_op(arg, AML_INT_NAMEPATH_OP);
        u16 opcode;
        u8 *aml = parser_state->aml;
 
-       ACPI_FUNCTION_TRACE_U32("ps_get_next_simple_arg", arg_type);
+       ACPI_FUNCTION_TRACE_U32(ps_get_next_simple_arg, arg_type);
 
        switch (arg_type) {
        case ARGP_BYTEDATA:
 
        default:
 
-               ACPI_ERROR((AE_INFO, "Invalid arg_type %X", arg_type));
+               ACPI_ERROR((AE_INFO, "Invalid ArgType %X", arg_type));
                return_VOID;
        }
 
        u16 opcode;
        u32 name;
 
-       ACPI_FUNCTION_TRACE("ps_get_next_field");
+       ACPI_FUNCTION_TRACE(ps_get_next_field);
 
        /* Determine field type */
 
        u32 subop;
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE_PTR("ps_get_next_arg", parser_state);
+       ACPI_FUNCTION_TRACE_PTR(ps_get_next_arg, parser_state);
 
        switch (arg_type) {
        case ARGP_BYTEDATA:
 
        default:
 
-               ACPI_ERROR((AE_INFO, "Invalid arg_type: %X", arg_type));
+               ACPI_ERROR((AE_INFO, "Invalid ArgType: %X", arg_type));
                status = AE_AML_OPERAND_TYPE;
                break;
        }
 
        struct acpi_parse_state *parser_state;
        u8 *aml_op_start = NULL;
 
-       ACPI_FUNCTION_TRACE_PTR("ps_parse_loop", walk_state);
+       ACPI_FUNCTION_TRACE_PTR(ps_parse_loop, walk_state);
 
        if (walk_state->descending_callback == NULL) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
 
                                        }
                                        ACPI_EXCEPTION((AE_INFO, status,
-                                                       "get_predicate Failed"));
+                                                       "GetPredicate Failed"));
                                        return_ACPI_STATUS(status);
                                }
 
 
                        if (walk_state->op_info) {
                                ACPI_DEBUG_PRINT((ACPI_DB_PARSE,
-                                                 "Opcode %4.4X [%s] Op %p Aml %p aml_offset %5.5X\n",
+                                                 "Opcode %4.4X [%s] Op %p Aml %p AmlOffset %5.5X\n",
                                                  (u32) op->common.aml_opcode,
                                                  walk_state->op_info->name, op,
                                                  parser_state->aml,
 
 
 const struct acpi_opcode_info *acpi_ps_get_opcode_info(u16 opcode)
 {
-       ACPI_FUNCTION_NAME("ps_get_opcode_info");
+       ACPI_FUNCTION_NAME(ps_get_opcode_info);
 
        /*
         * Detect normal 8-bit opcode or extended 16-bit opcode
        return (op->name);
 
 #else
-       return ("AE_NOT_CONFIGURED");
+       return ("OpcodeName unavailable");
 
 #endif
 }
 
        const struct acpi_opcode_info *parent_info;
        union acpi_parse_object *replacement_op = NULL;
 
-       ACPI_FUNCTION_TRACE_PTR("ps_complete_this_op", op);
+       ACPI_FUNCTION_TRACE_PTR(ps_complete_this_op, op);
 
        /* Check for null Op, can happen if AML code is corrupt */
 
        struct acpi_parse_state *parser_state = &walk_state->parser_state;
        acpi_status status = AE_CTRL_PENDING;
 
-       ACPI_FUNCTION_TRACE_PTR("ps_next_parse_state", op);
+       ACPI_FUNCTION_TRACE_PTR(ps_next_parse_state, op);
 
        switch (callback_status) {
        case AE_CTRL_TERMINATE:
        struct acpi_thread_state *prev_walk_list = acpi_gbl_current_walk_list;
        struct acpi_walk_state *previous_walk_state;
 
-       ACPI_FUNCTION_TRACE("ps_parse_aml");
+       ACPI_FUNCTION_TRACE(ps_parse_aml);
 
        ACPI_DEBUG_PRINT((ACPI_DB_PARSE,
-                         "Entered with walk_state=%p Aml=%p size=%X\n",
+                         "Entered with WalkState=%p Aml=%p size=%X\n",
                          walk_state, walk_state->parser_state.aml,
                          walk_state->parser_state.aml_size));
 
                 */
                if (((walk_state->parse_flags & ACPI_PARSE_MODE_MASK) ==
                     ACPI_PARSE_EXECUTE) || (ACPI_FAILURE(status))) {
-                       if (walk_state->method_desc) {
-
-                               /* Decrement the thread count on the method parse tree */
-
-                               if (walk_state->method_desc->method.
-                                   thread_count) {
-                                       walk_state->method_desc->method.
-                                           thread_count--;
-                               } else {
-                                       ACPI_ERROR((AE_INFO,
-                                                   "Invalid zero thread count in method"));
-                               }
-                       }
-
-                       acpi_ds_terminate_control_method(walk_state);
+                       acpi_ds_terminate_control_method(walk_state->
+                                                        method_desc,
+                                                        walk_state);
                }
 
                /* Delete this walk state and all linked control states */
                previous_walk_state = walk_state;
 
                ACPI_DEBUG_PRINT((ACPI_DB_PARSE,
-                                 "return_value=%p, implicit_value=%p State=%p\n",
+                                 "ReturnValue=%p, ImplicitValue=%p State=%p\n",
                                  walk_state->return_desc,
                                  walk_state->implicit_return_obj, walk_state));
 
 
 {
        union acpi_generic_state *scope;
 
-       ACPI_FUNCTION_TRACE_PTR("ps_init_scope", root_op);
+       ACPI_FUNCTION_TRACE_PTR(ps_init_scope, root_op);
 
        scope = acpi_ut_create_generic_state();
        if (!scope) {
 {
        union acpi_generic_state *scope;
 
-       ACPI_FUNCTION_TRACE_PTR("ps_push_scope", op);
+       ACPI_FUNCTION_TRACE_PTR(ps_push_scope, op);
 
        scope = acpi_ut_create_generic_state();
        if (!scope) {
 {
        union acpi_generic_state *scope = parser_state->scope;
 
-       ACPI_FUNCTION_TRACE("ps_pop_scope");
+       ACPI_FUNCTION_TRACE(ps_pop_scope);
 
        /* Only pop the scope if there is in fact a next scope */
 
 {
        union acpi_generic_state *scope;
 
-       ACPI_FUNCTION_TRACE_PTR("ps_cleanup_scope", parser_state);
+       ACPI_FUNCTION_TRACE_PTR(ps_cleanup_scope, parser_state);
 
        if (!parser_state) {
                return_VOID;
 
 
 void acpi_ps_free_op(union acpi_parse_object *op)
 {
-       ACPI_FUNCTION_NAME("ps_free_op");
+       ACPI_FUNCTION_NAME(ps_free_op);
 
        if (op->common.aml_opcode == AML_INT_RETURN_VALUE_OP) {
                ACPI_DEBUG_PRINT((ACPI_DB_ALLOCATIONS, "Free retval op: %p\n",
 
        union acpi_parse_object *next = NULL;
        union acpi_parse_object *parent = NULL;
 
-       ACPI_FUNCTION_TRACE_PTR("ps_delete_parse_tree", subtree_root);
+       ACPI_FUNCTION_TRACE_PTR(ps_delete_parse_tree, subtree_root);
 
        /* Visit all nodes in the subtree */
 
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ps_execute_method");
+       ACPI_FUNCTION_TRACE(ps_execute_method);
 
        /* Validate the Info and method Node */
 
         * a control exception code
         */
        if (info->return_object) {
-               ACPI_DEBUG_PRINT((ACPI_DB_PARSE,
-                                 "Method returned obj_desc=%p\n",
+               ACPI_DEBUG_PRINT((ACPI_DB_PARSE, "Method returned ObjDesc=%p\n",
                                  info->return_object));
                ACPI_DUMP_STACK_ENTRY(info->return_object);
 
        union acpi_parse_object *op;
        struct acpi_walk_state *walk_state;
 
-       ACPI_FUNCTION_TRACE("ps_execute_pass");
+       ACPI_FUNCTION_TRACE(ps_execute_pass);
 
        /* Create and init a Root Node */
 
 
        acpi_size aml_size_needed = 0;
        acpi_rs_length total_size;
 
-       ACPI_FUNCTION_TRACE("rs_get_aml_length");
+       ACPI_FUNCTION_TRACE(rs_get_aml_length);
 
        /* Traverse entire list of internal resource descriptors */
 
        u8 resource_index;
        u8 minimum_aml_resource_length;
 
-       ACPI_FUNCTION_TRACE("rs_get_list_length");
+       ACPI_FUNCTION_TRACE(rs_get_list_length);
 
        *size_needed = 0;
        end_aml = aml_buffer + aml_buffer_length;
                *size_needed += buffer_size;
 
                ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
-                                 "Type %.2X, aml_length %.2X internal_length %.2X\n",
+                                 "Type %.2X, AmlLength %.2X InternalLength %.2X\n",
                                  acpi_ut_get_resource_type(aml_buffer),
                                  acpi_ut_get_descriptor_length(aml_buffer),
                                  buffer_size));
        u8 name_found;
        u32 table_index;
 
-       ACPI_FUNCTION_TRACE("rs_get_pci_routing_table_length");
+       ACPI_FUNCTION_TRACE(rs_get_pci_routing_table_length);
 
        number_of_elements = package_object->package.count;
 
 
        u32 aml_buffer_length;
        void *resource;
 
-       ACPI_FUNCTION_TRACE("rs_create_resource_list");
+       ACPI_FUNCTION_TRACE(rs_create_resource_list);
 
-       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "aml_buffer = %p\n", aml_buffer));
+       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "AmlBuffer = %p\n", aml_buffer));
 
        /* Params already validated, so we don't re-validate here */
 
        status = acpi_rs_get_list_length(aml_start, aml_buffer_length,
                                         &list_size_needed);
 
-       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Status=%X list_size_needed=%X\n",
+       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Status=%X ListSizeNeeded=%X\n",
                          status, (u32) list_size_needed));
        if (ACPI_FAILURE(status)) {
                return_ACPI_STATUS(status);
                return_ACPI_STATUS(status);
        }
 
-       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "output_buffer %p Length %X\n",
+       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "OutputBuffer %p Length %X\n",
                          output_buffer->pointer, (u32) output_buffer->length));
        return_ACPI_STATUS(AE_OK);
 }
        acpi_status status;
        struct acpi_buffer path_buffer;
 
-       ACPI_FUNCTION_TRACE("rs_create_pci_routing_table");
+       ACPI_FUNCTION_TRACE(rs_create_pci_routing_table);
 
        /* Params already validated, so we don't re-validate here */
 
                return_ACPI_STATUS(status);
        }
 
-       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "buffer_size_needed = %X\n",
+       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "BufferSizeNeeded = %X\n",
                          (u32) buffer_size_needed));
 
        /* Validate/Allocate/Clear caller buffer */
                        user_prt->source_index = (u32) obj_desc->integer.value;
                } else {
                        ACPI_ERROR((AE_INFO,
-                                   "(PRT[%X].source_index) Need Integer, found %s",
+                                   "(PRT[%X].SourceIndex) Need Integer, found %s",
                                    index,
                                    acpi_ut_get_object_type_name(obj_desc)));
                        return_ACPI_STATUS(AE_BAD_DATA);
                top_object_list++;
        }
 
-       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "output_buffer %p Length %X\n",
+       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "OutputBuffer %p Length %X\n",
                          output_buffer->pointer, (u32) output_buffer->length));
        return_ACPI_STATUS(AE_OK);
 }
        acpi_status status;
        acpi_size aml_size_needed = 0;
 
-       ACPI_FUNCTION_TRACE("rs_create_aml_resources");
+       ACPI_FUNCTION_TRACE(rs_create_aml_resources);
 
-       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "linked_list_buffer = %p\n",
+       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "LinkedListBuffer = %p\n",
                          linked_list_buffer));
 
        /*
         */
        status = acpi_rs_get_aml_length(linked_list_buffer, &aml_size_needed);
 
-       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "aml_size_needed=%X, %s\n",
+       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "AmlSizeNeeded=%X, %s\n",
                          (u32) aml_size_needed,
                          acpi_format_exception(status)));
        if (ACPI_FAILURE(status)) {
                return_ACPI_STATUS(status);
        }
 
-       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "output_buffer %p Length %X\n",
+       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "OutputBuffer %p Length %X\n",
                          output_buffer->pointer, (u32) output_buffer->length));
        return_ACPI_STATUS(AE_OK);
 }
 
 struct acpi_rsdump_info acpi_rs_dump_irq[6] = {
        {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_irq), "IRQ", NULL},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(irq.triggering), "Triggering",
-        acpi_gbl_HEdecode},
+        acpi_gbl_he_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(irq.polarity), "Polarity",
-        acpi_gbl_LLdecode},
+        acpi_gbl_ll_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(irq.sharable), "Sharing",
-        acpi_gbl_SHRdecode},
+        acpi_gbl_shr_decode},
        {ACPI_RSD_UINT8, ACPI_RSD_OFFSET(irq.interrupt_count),
         "Interrupt Count", NULL},
        {ACPI_RSD_SHORTLIST, ACPI_RSD_OFFSET(irq.interrupts[0]),
 struct acpi_rsdump_info acpi_rs_dump_dma[6] = {
        {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_dma), "DMA", NULL},
        {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET(dma.type), "Speed",
-        acpi_gbl_TYPdecode},
+        acpi_gbl_typ_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(dma.bus_master), "Mastering",
-        acpi_gbl_BMdecode},
+        acpi_gbl_bm_decode},
        {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET(dma.transfer), "Transfer Type",
-        acpi_gbl_SIZdecode},
+        acpi_gbl_siz_decode},
        {ACPI_RSD_UINT8, ACPI_RSD_OFFSET(dma.channel_count), "Channel Count",
         NULL},
        {ACPI_RSD_SHORTLIST, ACPI_RSD_OFFSET(dma.channels[0]), "Channel List",
 };
 
 struct acpi_rsdump_info acpi_rs_dump_end_tag[1] = {
-       {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_end_tag), "end_tag",
+       {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_end_tag), "EndTag",
         NULL}
 };
 
        {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_memory24),
         "24-Bit Memory Range", NULL},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(memory24.write_protect),
-        "Write Protect", acpi_gbl_RWdecode},
+        "Write Protect", acpi_gbl_rw_decode},
        {ACPI_RSD_UINT16, ACPI_RSD_OFFSET(memory24.minimum), "Address Minimum",
         NULL},
        {ACPI_RSD_UINT16, ACPI_RSD_OFFSET(memory24.maximum), "Address Maximum",
        {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_memory32),
         "32-Bit Memory Range", NULL},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(memory32.write_protect),
-        "Write Protect", acpi_gbl_RWdecode},
+        "Write Protect", acpi_gbl_rw_decode},
        {ACPI_RSD_UINT32, ACPI_RSD_OFFSET(memory32.minimum), "Address Minimum",
         NULL},
        {ACPI_RSD_UINT32, ACPI_RSD_OFFSET(memory32.maximum), "Address Maximum",
        {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_fixed_memory32),
         "32-Bit Fixed Memory Range", NULL},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(fixed_memory32.write_protect),
-        "Write Protect", acpi_gbl_RWdecode},
+        "Write Protect", acpi_gbl_rw_decode},
        {ACPI_RSD_UINT32, ACPI_RSD_OFFSET(fixed_memory32.address), "Address",
         NULL},
        {ACPI_RSD_UINT32, ACPI_RSD_OFFSET(fixed_memory32.address_length),
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(extended_irq.producer_consumer),
         "Type", acpi_gbl_consume_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(extended_irq.triggering),
-        "Triggering", acpi_gbl_HEdecode},
+        "Triggering", acpi_gbl_he_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(extended_irq.polarity), "Polarity",
-        acpi_gbl_LLdecode},
+        acpi_gbl_ll_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(extended_irq.sharable), "Sharing",
-        acpi_gbl_SHRdecode},
+        acpi_gbl_shr_decode},
        {ACPI_RSD_SOURCE, ACPI_RSD_OFFSET(extended_irq.resource_source), NULL,
         NULL},
        {ACPI_RSD_UINT8, ACPI_RSD_OFFSET(extended_irq.interrupt_count),
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.producer_consumer),
         "Consumer/Producer", acpi_gbl_consume_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.decode), "Address Decode",
-        acpi_gbl_DECdecode},
+        acpi_gbl_dec_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.min_address_fixed),
         "Min Relocatability", acpi_gbl_min_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.max_address_fixed),
        {ACPI_RSD_LITERAL, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_memory_flags),
         "Resource Type", (void *)"Memory Range"},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.info.mem.write_protect),
-        "Write Protect", acpi_gbl_RWdecode},
+        "Write Protect", acpi_gbl_rw_decode},
        {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET(address.info.mem.caching),
-        "Caching", acpi_gbl_MEMdecode},
+        "Caching", acpi_gbl_mem_decode},
        {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET(address.info.mem.range_type),
-        "Range Type", acpi_gbl_MTPdecode},
+        "Range Type", acpi_gbl_mtp_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.info.mem.translation),
-        "Translation", acpi_gbl_TTPdecode}
+        "Translation", acpi_gbl_ttp_decode}
 };
 
 static struct acpi_rsdump_info acpi_rs_dump_io_flags[4] = {
        {ACPI_RSD_LITERAL, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_io_flags),
         "Resource Type", (void *)"I/O Range"},
        {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET(address.info.io.range_type),
-        "Range Type", acpi_gbl_RNGdecode},
+        "Range Type", acpi_gbl_rng_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.info.io.translation),
-        "Translation", acpi_gbl_TTPdecode},
+        "Translation", acpi_gbl_ttp_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.info.io.translation_type),
-        "Translation Type", acpi_gbl_TRSdecode}
+        "Translation Type", acpi_gbl_trs_decode}
 };
 
 /*
 
        struct acpi_resource *resource;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("rs_convert_aml_to_resources");
+       ACPI_FUNCTION_TRACE(rs_convert_aml_to_resources);
 
        /*
         * Check that the input buffer and all subsequent pointers into it
        }
 
        ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
-                         "Type %.2X, aml_length %.2X internal_length %.2X\n",
+                         "Type %.2X, AmlLength %.2X InternalLength %.2X\n",
                          acpi_ut_get_resource_type(aml), length,
                          resource->length));
 
        u8 *end_aml = output_buffer + aml_size_needed;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("rs_convert_resources_to_aml");
+       ACPI_FUNCTION_TRACE(rs_convert_resources_to_aml);
 
        /* Walk the resource descriptor list, convert each descriptor */
 
 
        u16 item_count = 0;
        u16 temp16 = 0;
 
-       ACPI_FUNCTION_TRACE("rs_convert_aml_to_resource");
+       ACPI_FUNCTION_TRACE(rs_convert_aml_to_resource);
 
        if (((acpi_native_uint) resource) & 0x3) {
 
        u16 temp16 = 0;
        u16 item_count = 0;
 
-       ACPI_FUNCTION_TRACE("rs_convert_resource_to_aml");
+       ACPI_FUNCTION_TRACE(rs_convert_resource_to_aml);
 
        /*
         * First table entry must be ACPI_RSC_INITxxx and must contain the
 
        union acpi_operand_object *obj_desc;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("rs_get_prt_method_data");
+       ACPI_FUNCTION_TRACE(rs_get_prt_method_data);
 
        /* Parameters guaranteed valid by caller */
 
        union acpi_operand_object *obj_desc;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("rs_get_crs_method_data");
+       ACPI_FUNCTION_TRACE(rs_get_crs_method_data);
 
        /* Parameters guaranteed valid by caller */
 
        union acpi_operand_object *obj_desc;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("rs_get_prs_method_data");
+       ACPI_FUNCTION_TRACE(rs_get_prs_method_data);
 
        /* Parameters guaranteed valid by caller */
 
        union acpi_operand_object *obj_desc;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("rs_get_method_data");
+       ACPI_FUNCTION_TRACE(rs_get_method_data);
 
        /* Parameters guaranteed valid by caller */
 
        acpi_status status;
        struct acpi_buffer buffer;
 
-       ACPI_FUNCTION_TRACE("rs_set_srs_method_data");
+       ACPI_FUNCTION_TRACE(rs_set_srs_method_data);
 
        /* Parameters guaranteed valid by caller */
 
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_get_irq_routing_table ");
+       ACPI_FUNCTION_TRACE(acpi_get_irq_routing_table);
 
        /*
         * Must have a valid handle and buffer, So we have to have a handle
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_get_current_resources");
+       ACPI_FUNCTION_TRACE(acpi_get_current_resources);
 
        /*
         * Must have a valid handle and buffer, So we have to have a handle
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_get_possible_resources");
+       ACPI_FUNCTION_TRACE(acpi_get_possible_resources);
 
        /*
         * Must have a valid handle and buffer, So we have to have a handle
        struct acpi_resource *resource;
        struct acpi_resource *resource_end;
 
-       ACPI_FUNCTION_TRACE("acpi_walk_resources");
+       ACPI_FUNCTION_TRACE(acpi_walk_resources);
 
        /* Parameter validation */
 
        if (!device_handle || !user_function || !name ||
-           (ACPI_STRNCMP(name, METHOD_NAME__CRS, sizeof(METHOD_NAME__CRS)) &&
-            ACPI_STRNCMP(name, METHOD_NAME__PRS, sizeof(METHOD_NAME__PRS)))) {
+           (!ACPI_COMPARE_NAME(name, METHOD_NAME__CRS) &&
+            !ACPI_COMPARE_NAME(name, METHOD_NAME__PRS))) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        }
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_set_current_resources");
+       ACPI_FUNCTION_TRACE(acpi_set_current_resources);
 
        /* Must have a valid handle and buffer */
 
 
 
        ACPI_FUNCTION_TRACE("acpi_system_read_dsdt");
 
-       status = acpi_get_table(ACPI_TABLE_DSDT, 1, &dsdt);
+       status = acpi_get_table(ACPI_TABLE_ID_DSDT, 1, &dsdt);
        if (ACPI_FAILURE(status))
                return_VALUE(-ENODEV);
 
 
        ACPI_FUNCTION_TRACE("acpi_system_read_fadt");
 
-       status = acpi_get_table(ACPI_TABLE_FADT, 1, &fadt);
+       status = acpi_get_table(ACPI_TABLE_ID_FADT, 1, &fadt);
        if (ACPI_FAILURE(status))
                return_VALUE(-ENODEV);
 
 
        struct fadt_descriptor *local_fadt;
        struct acpi_table_desc *table_desc;
 
-       ACPI_FUNCTION_TRACE("tb_convert_table_fadt");
+       ACPI_FUNCTION_TRACE(tb_convert_table_fadt);
 
        /*
         * acpi_gbl_FADT is valid. Validate the FADT length. The table must be
 
        /* Free the original table */
 
-       table_desc = acpi_gbl_table_lists[ACPI_TABLE_FADT].next;
+       table_desc = acpi_gbl_table_lists[ACPI_TABLE_ID_FADT].next;
        acpi_tb_delete_single_table(table_desc);
 
        /* Install the new table */
 acpi_status acpi_tb_build_common_facs(struct acpi_table_desc *table_info)
 {
 
-       ACPI_FUNCTION_TRACE("tb_build_common_facs");
+       ACPI_FUNCTION_TRACE(tb_build_common_facs);
 
        /* Absolute minimum length is 24, but the ACPI spec says 64 */
 
 
        acpi_status status;
        struct acpi_table_header header;
 
-       ACPI_FUNCTION_TRACE("tb_get_table");
+       ACPI_FUNCTION_TRACE(tb_get_table);
 
        /* Get the header in order to get signature and table size */
 
        acpi_status status = AE_OK;
        struct acpi_table_header *header = NULL;
 
-       ACPI_FUNCTION_TRACE("tb_get_table_header");
+       ACPI_FUNCTION_TRACE(tb_get_table_header);
 
        /*
         * Flags contains the current processor mode (Virtual or Physical
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("tb_get_table_body");
+       ACPI_FUNCTION_TRACE(tb_get_table_body);
 
        if (!table_info || !address) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        acpi_status status;
        struct acpi_pointer address;
 
-       ACPI_FUNCTION_TRACE("tb_table_override");
+       ACPI_FUNCTION_TRACE(tb_table_override);
 
        /*
         * The OSL will examine the header and decide whether to override this
        u8 allocation;
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("tb_get_this_table");
+       ACPI_FUNCTION_TRACE(tb_get_this_table);
 
        /*
         * Flags contains the current processor mode (Virtual or Physical
         * Validate checksum for _most_ tables,
         * even the ones whose signature we don't recognize
         */
-       if (table_info->type != ACPI_TABLE_FACS) {
+       if (table_info->type != ACPI_TABLE_ID_FACS) {
                status = acpi_tb_verify_table_checksum(full_table);
 
 #if (!ACPI_CHECKSUM_ABORT)
        struct acpi_table_desc *table_desc;
        u32 i;
 
-       ACPI_FUNCTION_TRACE("tb_get_table_ptr");
+       ACPI_FUNCTION_TRACE(tb_get_table_ptr);
 
        if (!acpi_gbl_DSDT) {
                return_ACPI_STATUS(AE_NO_ACPI_TABLES);
        }
 
-       if (table_type > ACPI_TABLE_MAX) {
+       if (table_type > ACPI_TABLE_ID_MAX) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        }
 
 
        acpi_status status;
        struct acpi_table_header header;
 
-       ACPI_FUNCTION_TRACE("tb_get_primary_table");
+       ACPI_FUNCTION_TRACE(tb_get_primary_table);
 
        /* Ignore a NULL address in the RSDT */
 
        acpi_status status;
        struct acpi_table_header header;
 
-       ACPI_FUNCTION_TRACE_STR("tb_get_secondary_table", signature);
+       ACPI_FUNCTION_TRACE_STR(tb_get_secondary_table, signature);
 
        /* Get the header in order to match the signature */
 
 
        /* Signature must match request */
 
-       if (ACPI_STRNCMP(header.signature, signature, ACPI_NAME_SIZE)) {
+       if (!ACPI_COMPARE_NAME(header.signature, signature)) {
                ACPI_ERROR((AE_INFO,
                            "Incorrect table signature - wanted [%s] found [%4.4s]",
                            signature, header.signature));
        struct acpi_table_desc table_info;
        struct acpi_pointer address;
 
-       ACPI_FUNCTION_TRACE("tb_get_required_tables");
+       ACPI_FUNCTION_TRACE(tb_get_required_tables);
 
        ACPI_DEBUG_PRINT((ACPI_DB_INFO, "%d ACPI tables in RSDT\n",
                          acpi_gbl_rsdt_table_count));
 
        /* Always delete the RSDP mapping, we are done with it */
 
-       acpi_tb_delete_tables_by_type(ACPI_TABLE_RSDP);
+       acpi_tb_delete_tables_by_type(ACPI_TABLE_ID_RSDP);
        return_ACPI_STATUS(status);
 }
 
 {
        acpi_native_uint i;
 
-       ACPI_FUNCTION_TRACE("tb_match_signature");
+       ACPI_FUNCTION_TRACE(tb_match_signature);
 
        /* Search for a signature match among the known table types */
 
-       for (i = 0; i < NUM_ACPI_TABLE_TYPES; i++) {
+       for (i = 0; i < (ACPI_TABLE_ID_MAX + 1); i++) {
                if (!(acpi_gbl_table_data[i].flags & search_type)) {
                        continue;
                }
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("tb_install_table");
+       ACPI_FUNCTION_TRACE(tb_install_table);
 
        /* Lock tables while installing */
 
        struct acpi_table_header *table_header;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("tb_recognize_table");
+       ACPI_FUNCTION_TRACE(tb_recognize_table);
 
        /* Ensure that we have a valid table pointer */
 
        /* Return the table type and length via the info struct */
 
        table_info->length = (acpi_size) table_header->length;
-
        return_ACPI_STATUS(status);
 }
 
        struct acpi_table_desc *table_desc;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_U32("tb_init_table_descriptor", table_type);
+       ACPI_FUNCTION_TRACE_U32(tb_init_table_descriptor, table_type);
 
        /* Allocate a descriptor for this table */
 
 
        /* Finish initialization of the table descriptor */
 
+       table_desc->loaded_into_namespace = FALSE;
        table_desc->type = (u8) table_type;
        table_desc->pointer = table_info->pointer;
        table_desc->length = table_info->length;
        table_desc->allocation = table_info->allocation;
        table_desc->aml_start = (u8 *) (table_desc->pointer + 1),
-           table_desc->aml_length = (u32) (table_desc->length -
-                                           (u32) sizeof(struct
-                                                        acpi_table_header));
-       table_desc->loaded_into_namespace = FALSE;
+           table_desc->aml_length = (u32)
+           (table_desc->length - (u32) sizeof(struct acpi_table_header));
 
        /*
         * Set the appropriate global pointer (if there is one) to point to the
 
        table_info->owner_id = table_desc->owner_id;
        table_info->installed_desc = table_desc;
-
        return_ACPI_STATUS(AE_OK);
 }
 
         * Free memory allocated for ACPI tables
         * Memory can either be mapped or allocated
         */
-       for (type = 0; type < NUM_ACPI_TABLE_TYPES; type++) {
+       for (type = 0; type < (ACPI_TABLE_ID_MAX + 1); type++) {
                acpi_tb_delete_tables_by_type(type);
        }
 }
        u32 count;
        u32 i;
 
-       ACPI_FUNCTION_TRACE_U32("tb_delete_tables_by_type", type);
+       ACPI_FUNCTION_TRACE_U32(tb_delete_tables_by_type, type);
 
-       if (type > ACPI_TABLE_MAX) {
+       if (type > ACPI_TABLE_ID_MAX) {
                return_VOID;
        }
 
        /* Clear the appropriate "typed" global table pointer */
 
        switch (type) {
-       case ACPI_TABLE_RSDP:
+       case ACPI_TABLE_ID_RSDP:
                acpi_gbl_RSDP = NULL;
                break;
 
-       case ACPI_TABLE_DSDT:
+       case ACPI_TABLE_ID_DSDT:
                acpi_gbl_DSDT = NULL;
                break;
 
-       case ACPI_TABLE_FADT:
+       case ACPI_TABLE_ID_FADT:
                acpi_gbl_FADT = NULL;
                break;
 
-       case ACPI_TABLE_FACS:
+       case ACPI_TABLE_ID_FACS:
                acpi_gbl_FACS = NULL;
                break;
 
-       case ACPI_TABLE_XSDT:
+       case ACPI_TABLE_ID_XSDT:
                acpi_gbl_XSDT = NULL;
                break;
 
-       case ACPI_TABLE_SSDT:
-       case ACPI_TABLE_PSDT:
+       case ACPI_TABLE_ID_SSDT:
+       case ACPI_TABLE_ID_PSDT:
        default:
                break;
        }
 {
        struct acpi_table_desc *next_desc;
 
-       ACPI_FUNCTION_TRACE_PTR("tb_uninstall_table", table_desc);
+       ACPI_FUNCTION_TRACE_PTR(tb_uninstall_table, table_desc);
 
        if (!table_desc) {
                return_PTR(NULL);
 
        acpi_status status;
        struct rsdp_descriptor *rsdp;
 
-       ACPI_FUNCTION_TRACE("tb_verify_rsdp");
+       ACPI_FUNCTION_TRACE(tb_verify_rsdp);
 
        switch (address->pointer_type) {
        case ACPI_LOGICAL_POINTER:
 
        /* Save the table pointers and allocation info */
 
-       status = acpi_tb_init_table_descriptor(ACPI_TABLE_RSDP, &table_info);
+       status = acpi_tb_init_table_descriptor(ACPI_TABLE_ID_RSDP, &table_info);
        if (ACPI_FAILURE(status)) {
                goto cleanup;
        }
 
 acpi_status acpi_tb_validate_rsdt(struct acpi_table_header *table_ptr)
 {
-       int no_match;
+       char *signature;
 
        ACPI_FUNCTION_ENTRY();
 
-       /*
-        * Search for appropriate signature, RSDT or XSDT
-        */
+       /* Search for appropriate signature, RSDT or XSDT */
+
        if (acpi_gbl_root_table_type == ACPI_TABLE_TYPE_RSDT) {
-               no_match = ACPI_STRNCMP((char *)table_ptr, RSDT_SIG,
-                                       sizeof(RSDT_SIG) - 1);
+               signature = RSDT_SIG;
        } else {
-               no_match = ACPI_STRNCMP((char *)table_ptr, XSDT_SIG,
-                                       sizeof(XSDT_SIG) - 1);
+               signature = XSDT_SIG;
        }
 
-       if (no_match) {
+       if (!ACPI_COMPARE_NAME(table_ptr->signature, signature)) {
 
                /* Invalid RSDT or XSDT signature */
 
        acpi_status status;
        struct acpi_pointer address;
 
-       ACPI_FUNCTION_TRACE("tb_get_table_rsdt");
+       ACPI_FUNCTION_TRACE(tb_get_table_rsdt);
 
        /* Get the RSDT/XSDT via the RSDP */
 
        acpi_tb_get_rsdt_address(&address);
 
-       table_info.type = ACPI_TABLE_XSDT;
+       table_info.type = ACPI_TABLE_ID_XSDT;
        status = acpi_tb_get_table(&address, &table_info);
        if (ACPI_FAILURE(status)) {
                ACPI_EXCEPTION((AE_INFO, status,
 
        /* Save the table pointers and allocation info */
 
-       status = acpi_tb_init_table_descriptor(ACPI_TABLE_XSDT, &table_info);
+       status = acpi_tb_init_table_descriptor(ACPI_TABLE_ID_XSDT, &table_info);
        if (ACPI_FAILURE(status)) {
                return_ACPI_STATUS(status);
        }
 
 {
        struct acpi_table_desc *table_desc;
 
-       ACPI_FUNCTION_TRACE("tb_is_table_installed");
+       ACPI_FUNCTION_TRACE(tb_is_table_installed);
 
        /* Get the list descriptor and first table descriptor */
 
                        /* Match: this table is already installed */
 
                        ACPI_DEBUG_PRINT((ACPI_DB_TABLES,
-                                         "Table [%4.4s] already installed: Rev %X oem_table_id [%8.8s]\n",
+                                         "Table [%4.4s] already installed: Rev %X OemTableId [%8.8s]\n",
                                          new_table_desc->pointer->signature,
                                          new_table_desc->pointer->revision,
                                          new_table_desc->pointer->
 {
        u8 checksum;
 
-       ACPI_FUNCTION_TRACE("tb_verify_table_checksum");
+       ACPI_FUNCTION_TRACE(tb_verify_table_checksum);
 
        /* Compute the checksum on the table */
 
        u32 i;
        struct acpi_table_desc *table_desc;
 
-       ACPI_FUNCTION_NAME("tb_handle_to_object");
+       ACPI_FUNCTION_NAME(tb_handle_to_object);
 
        for (i = 0; i < ACPI_TABLE_MAX; i++) {
                table_desc = acpi_gbl_table_lists[i].next;
                }
        }
 
-       ACPI_ERROR((AE_INFO, "table_id=%X does not exist", table_id));
+       ACPI_ERROR((AE_INFO, "TableId=%X does not exist", table_id));
        return (AE_BAD_PARAMETER);
 }
 #endif
 
        struct acpi_pointer rsdp_address;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_load_tables");
+       ACPI_FUNCTION_TRACE(acpi_load_tables);
 
        /* Get the RSDP */
 
        struct acpi_table_desc table_info;
        struct acpi_pointer address;
 
-       ACPI_FUNCTION_TRACE("acpi_load_table");
+       ACPI_FUNCTION_TRACE(acpi_load_table);
 
        if (!table_ptr) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        /* Convert the table to common format if necessary */
 
        switch (table_info.type) {
-       case ACPI_TABLE_FADT:
+       case ACPI_TABLE_ID_FADT:
 
                status = acpi_tb_convert_table_fadt();
                break;
 
-       case ACPI_TABLE_FACS:
+       case ACPI_TABLE_ID_FACS:
 
                status = acpi_tb_build_common_facs(&table_info);
                break;
 {
        struct acpi_table_desc *table_desc;
 
-       ACPI_FUNCTION_TRACE("acpi_unload_table");
+       ACPI_FUNCTION_TRACE(acpi_unload_table);
 
        /* Parameter validation */
 
-       if (table_type > ACPI_TABLE_MAX) {
+       if (table_type > ACPI_TABLE_ID_MAX) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        }
 
        struct acpi_table_header *tbl_ptr;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_get_table_header");
+       ACPI_FUNCTION_TRACE(acpi_get_table_header);
 
        if ((instance == 0) ||
-           (table_type == ACPI_TABLE_RSDP) || (!out_table_header)) {
+           (table_type == ACPI_TABLE_ID_RSDP) || (!out_table_header)) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        }
 
        /* Check the table type and instance */
 
-       if ((table_type > ACPI_TABLE_MAX) ||
+       if ((table_type > ACPI_TABLE_ID_MAX) ||
            (ACPI_IS_SINGLE_TABLE(acpi_gbl_table_data[table_type].flags) &&
             instance > 1)) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        acpi_status status;
        acpi_size table_length;
 
-       ACPI_FUNCTION_TRACE("acpi_get_table");
+       ACPI_FUNCTION_TRACE(acpi_get_table);
 
        /* Parameter validation */
 
 
        /* Check the table type and instance */
 
-       if ((table_type > ACPI_TABLE_MAX) ||
+       if ((table_type > ACPI_TABLE_ID_MAX) ||
            (ACPI_IS_SINGLE_TABLE(acpi_gbl_table_data[table_type].flags) &&
             instance > 1)) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
 
        /* Get the table length */
 
-       if (table_type == ACPI_TABLE_RSDP) {
+       if (table_type == ACPI_TABLE_ID_RSDP) {
 
                /* RSD PTR is the only "table" without a header */
 
 
        acpi_status status;
        struct acpi_table_header *table;
 
-       ACPI_FUNCTION_TRACE("tb_find_table");
+       ACPI_FUNCTION_TRACE(tb_find_table);
 
        /* Validate string lengths */
 
                return_ACPI_STATUS(AE_AML_STRING_LIMIT);
        }
 
-       if (!ACPI_STRNCMP(signature, DSDT_SIG, ACPI_NAME_SIZE)) {
+       if (ACPI_COMPARE_NAME(signature, DSDT_SIG)) {
                /*
                 * The DSDT pointer is contained in the FADT, not the RSDT.
                 * This code should suffice, because the only code that would perform
 
        /* Check oem_id and oem_table_id */
 
-       if ((oem_id[0] && ACPI_STRNCMP(oem_id, table->oem_id,
-                                      sizeof(table->oem_id))) ||
-           (oem_table_id[0] && ACPI_STRNCMP(oem_table_id, table->oem_table_id,
-                                            sizeof(table->oem_table_id)))) {
+       if ((oem_id[0] &&
+            ACPI_STRNCMP(oem_id, table->oem_id,
+                         sizeof(table->oem_id))) ||
+           (oem_table_id[0] &&
+            ACPI_STRNCMP(oem_table_id, table->oem_table_id,
+                         sizeof(table->oem_table_id)))) {
                return_ACPI_STATUS(AE_AML_NAME_NOT_FOUND);
        }
 
        u32 i;
        u32 j;
 
-       ACPI_FUNCTION_TRACE("acpi_get_firmware_table");
+       ACPI_FUNCTION_TRACE(acpi_get_firmware_table);
 
        /*
         * Ensure that at least the table manager is initialized.  We don't
 
                /* Compare table signatures and table instance */
 
-               if (!ACPI_STRNCMP(header->signature, signature, ACPI_NAME_SIZE)) {
+               if (ACPI_COMPARE_NAME(header->signature, signature)) {
 
                        /* An instance of the table was found */
 
        struct acpi_table_desc table_info;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_find_root_pointer");
+       ACPI_FUNCTION_TRACE(acpi_find_root_pointer);
 
        /* Get the RSDP */
 
        u8 *mem_rover;
        u8 *end_address;
 
-       ACPI_FUNCTION_TRACE("tb_scan_memory_for_rsdp");
+       ACPI_FUNCTION_TRACE(tb_scan_memory_for_rsdp);
 
        end_address = start_address + length;
 
        u32 physical_address;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("tb_find_rsdp");
+       ACPI_FUNCTION_TRACE(tb_find_rsdp);
 
        /*
         * Scan supports either logical addressing or physical addressing
 
        }
 
        status =
-           acpi_os_create_cache("Acpi-parse_ext",
+           acpi_os_create_cache("Acpi-ParseExt",
                                 sizeof(struct acpi_parse_obj_named),
                                 ACPI_MAX_EXTPARSE_CACHE_DEPTH,
                                 &acpi_gbl_ps_node_ext_cache);
 {
        void *allocation;
 
-       ACPI_FUNCTION_TRACE_U32("ut_allocate", size);
+       ACPI_FUNCTION_TRACE_U32(ut_allocate, size);
 
        /* Check for an inadvertent size of zero bytes */
 
 
        acpi_status status;
        void *object;
 
-       ACPI_FUNCTION_NAME("os_acquire_object");
+       ACPI_FUNCTION_NAME(os_acquire_object);
 
        if (!cache) {
                return (NULL);
 
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ut_copy_isimple_to_esimple");
+       ACPI_FUNCTION_TRACE(ut_copy_isimple_to_esimple);
 
        *buffer_space_used = 0;
 
        acpi_status status;
        struct acpi_pkg_info info;
 
-       ACPI_FUNCTION_TRACE("ut_copy_ipackage_to_epackage");
+       ACPI_FUNCTION_TRACE(ut_copy_ipackage_to_epackage);
 
        /*
         * First package at head of the buffer
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ut_copy_iobject_to_eobject");
+       ACPI_FUNCTION_TRACE(ut_copy_iobject_to_eobject);
 
        if (ACPI_GET_OBJECT_TYPE(internal_object) == ACPI_TYPE_PACKAGE) {
                /*
 {
        union acpi_operand_object *internal_object;
 
-       ACPI_FUNCTION_TRACE("ut_copy_esimple_to_isimple");
+       ACPI_FUNCTION_TRACE(ut_copy_esimple_to_isimple);
 
        /*
         * Simple types supported are: String, Buffer, Integer
        union acpi_operand_object *this_internal_obj;
        union acpi_object *this_external_obj;
 
-       ACPI_FUNCTION_TRACE("ut_copy_epackage_to_ipackage");
+       ACPI_FUNCTION_TRACE(ut_copy_epackage_to_ipackage);
 
        /*
         * First package at head of the buffer
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ut_copy_eobject_to_iobject");
+       ACPI_FUNCTION_TRACE(ut_copy_eobject_to_iobject);
 
        if (external_object->type == ACPI_TYPE_PACKAGE) {
                /*
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ut_copy_ipackage_to_ipackage");
+       ACPI_FUNCTION_TRACE(ut_copy_ipackage_to_ipackage);
 
        dest_obj->common.type = ACPI_GET_OBJECT_TYPE(source_obj);
        dest_obj->common.flags = source_obj->common.flags;
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("ut_copy_iobject_to_iobject");
+       ACPI_FUNCTION_TRACE(ut_copy_iobject_to_iobject);
 
        /* Create the top level object */
 
 
        union acpi_operand_object *second_desc;
        union acpi_operand_object *next_desc;
 
-       ACPI_FUNCTION_TRACE_PTR("ut_delete_internal_obj", object);
+       ACPI_FUNCTION_TRACE_PTR(ut_delete_internal_obj, object);
 
        if (!object) {
                return_VOID;
 {
        union acpi_operand_object **internal_obj;
 
-       ACPI_FUNCTION_TRACE("ut_delete_internal_object_list");
+       ACPI_FUNCTION_TRACE(ut_delete_internal_object_list);
 
        /* Walk the null-terminated internal list */
 
        u16 count;
        u16 new_count;
 
-       ACPI_FUNCTION_NAME("ut_update_ref_count");
+       ACPI_FUNCTION_NAME(ut_update_ref_count);
 
        if (!object) {
                return;
        union acpi_generic_state *state;
        acpi_native_uint i;
 
-       ACPI_FUNCTION_TRACE_PTR("ut_update_object_reference", object);
+       ACPI_FUNCTION_TRACE_PTR(ut_update_object_reference, object);
 
        while (object) {
 
 void acpi_ut_add_reference(union acpi_operand_object *object)
 {
 
-       ACPI_FUNCTION_TRACE_PTR("ut_add_reference", object);
+       ACPI_FUNCTION_TRACE_PTR(ut_add_reference, object);
 
        /* Ensure that we have a valid object */
 
 void acpi_ut_remove_reference(union acpi_operand_object *object)
 {
 
-       ACPI_FUNCTION_TRACE_PTR("ut_remove_reference", object);
+       ACPI_FUNCTION_TRACE_PTR(ut_remove_reference, object);
 
        /*
         * Allow a NULL pointer to be passed in, just ignore it.  This saves
 
 acpi_ut_translate_one_cid(union acpi_operand_object *obj_desc,
                          struct acpi_compatible_id *one_cid);
 
+/*
+ * Strings supported by the _OSI predefined (internal) method.
+ */
+static const char *acpi_interfaces_supported[] = {
+       /* Operating System Vendor Strings */
+
+       "Linux",
+       "Windows 2000",
+       "Windows 2001",
+       "Windows 2001 SP0",
+       "Windows 2001 SP1",
+       "Windows 2001 SP2",
+       "Windows 2001 SP3",
+       "Windows 2001 SP4",
+       "Windows 2001.1",
+       "Windows 2001.1 SP1",   /* Added 03/2006 */
+       "Windows 2006",         /* Added 03/2006 */
+
+       /* Feature Group Strings */
+
+       "Extended Address Space Descriptor"
+           /*
+            * All "optional" feature group strings (features that are implemented
+            * by the host) should be implemented in the host version of
+            * acpi_os_validate_interface and should not be added here.
+            */
+};
+
 /*******************************************************************************
  *
  * FUNCTION:    acpi_ut_osi_implementation
  *
  * RETURN:      Status
  *
- * DESCRIPTION: Implementation of _OSI predefined control method
- *              Supported = _OSI (String)
+ * DESCRIPTION: Implementation of the _OSI predefined control method
  *
  ******************************************************************************/
 
 acpi_status acpi_ut_osi_implementation(struct acpi_walk_state *walk_state)
 {
+       acpi_status status;
        union acpi_operand_object *string_desc;
        union acpi_operand_object *return_desc;
        acpi_native_uint i;
 
-       ACPI_FUNCTION_TRACE("ut_osi_implementation");
+       ACPI_FUNCTION_TRACE(ut_osi_implementation);
 
        /* Validate the string input argument */
 
                return_ACPI_STATUS(AE_TYPE);
        }
 
-       /* Create a return object (Default value = 0) */
+       /* Create a return object */
 
        return_desc = acpi_ut_create_internal_object(ACPI_TYPE_INTEGER);
        if (!return_desc) {
                return_ACPI_STATUS(AE_NO_MEMORY);
        }
 
-       /* Compare input string to table of supported strings */
+       /* Default return value is SUPPORTED */
 
-       for (i = 0; i < ACPI_NUM_OSI_STRINGS; i++) {
-               if (!ACPI_STRCMP(string_desc->string.pointer,
-                                ACPI_CAST_PTR(char,
-                                              acpi_gbl_valid_osi_strings[i])))
-               {
+       return_desc->integer.value = ACPI_UINT32_MAX;
+       walk_state->return_desc = return_desc;
+
+       /* Compare input string to static table of supported interfaces */
 
-                       /* This string is supported */
+       for (i = 0; i < ACPI_ARRAY_LENGTH(acpi_interfaces_supported); i++) {
+               if (!ACPI_STRCMP
+                   (string_desc->string.pointer,
+                    acpi_interfaces_supported[i])) {
 
-                       return_desc->integer.value = 0xFFFFFFFF;
-                       break;
+                       /* The interface is supported */
+
+                       return_ACPI_STATUS(AE_CTRL_TERMINATE);
                }
        }
 
-       walk_state->return_desc = return_desc;
+       /*
+        * Did not match the string in the static table, call the host OSL to
+        * check for a match with one of the optional strings (such as
+        * "Module Device", "3.0 Thermal Model", etc.)
+        */
+       status = acpi_os_validate_interface(string_desc->string.pointer);
+       if (ACPI_SUCCESS(status)) {
+
+               /* The interface is supported */
+
+               return_ACPI_STATUS(AE_CTRL_TERMINATE);
+       }
+
+       /* The interface is not supported */
+
+       return_desc->integer.value = 0;
        return_ACPI_STATUS(AE_CTRL_TERMINATE);
 }
 
        acpi_status status;
        u32 return_btype;
 
-       ACPI_FUNCTION_TRACE("ut_evaluate_object");
+       ACPI_FUNCTION_TRACE(ut_evaluate_object);
 
        info.node = prefix_node;
        info.parameters = NULL;
        union acpi_operand_object *obj_desc;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ut_evaluate_numeric_object");
+       ACPI_FUNCTION_TRACE(ut_evaluate_numeric_object);
 
        status = acpi_ut_evaluate_object(device_node, object_name,
                                         ACPI_BTYPE_INTEGER, &obj_desc);
        union acpi_operand_object *obj_desc;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ut_execute_HID");
+       ACPI_FUNCTION_TRACE(ut_execute_HID);
 
        status = acpi_ut_evaluate_object(device_node, METHOD_NAME__HID,
                                         ACPI_BTYPE_INTEGER | ACPI_BTYPE_STRING,
        struct acpi_compatible_id_list *cid_list;
        acpi_native_uint i;
 
-       ACPI_FUNCTION_TRACE("ut_execute_CID");
+       ACPI_FUNCTION_TRACE(ut_execute_CID);
 
        /* Evaluate the _CID method for this device */
 
        union acpi_operand_object *obj_desc;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ut_execute_UID");
+       ACPI_FUNCTION_TRACE(ut_execute_UID);
 
        status = acpi_ut_evaluate_object(device_node, METHOD_NAME__UID,
                                         ACPI_BTYPE_INTEGER | ACPI_BTYPE_STRING,
        union acpi_operand_object *obj_desc;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ut_execute_STA");
+       ACPI_FUNCTION_TRACE(ut_execute_STA);
 
        status = acpi_ut_evaluate_object(device_node, METHOD_NAME__STA,
                                         ACPI_BTYPE_INTEGER, &obj_desc);
        acpi_status status;
        u32 i;
 
-       ACPI_FUNCTION_TRACE("ut_execute_Sxds");
+       ACPI_FUNCTION_TRACE(ut_execute_sxds);
 
        for (i = 0; i < 4; i++) {
                highest[i] = 0xFF;
 
        "_S4D"
 };
 
-/*
- * Strings supported by the _OSI predefined (internal) method.
- * When adding strings, be sure to update ACPI_NUM_OSI_STRINGS.
- */
-const char *acpi_gbl_valid_osi_strings[ACPI_NUM_OSI_STRINGS] = {
-       /* Operating System Vendor Strings */
-
-       "Linux",
-       "Windows 2000",
-       "Windows 2001",
-       "Windows 2001 SP0",
-       "Windows 2001 SP1",
-       "Windows 2001 SP2",
-       "Windows 2001 SP3",
-       "Windows 2001 SP4",
-       "Windows 2001.1",
-       "Windows 2001.1 SP1",   /* Added 03/2006 */
-       "Windows 2006",         /* Added 03/2006 */
-
-       /* Feature Group Strings */
-
-       "Extended Address Space Descriptor"
-};
-
 /*******************************************************************************
  *
  * Namespace globals
  *
  ******************************************************************************/
 
-struct acpi_table_list acpi_gbl_table_lists[NUM_ACPI_TABLE_TYPES];
+struct acpi_table_list acpi_gbl_table_lists[ACPI_TABLE_ID_MAX + 1];
 
-struct acpi_table_support acpi_gbl_table_data[NUM_ACPI_TABLE_TYPES] = {
+struct acpi_table_support acpi_gbl_table_data[ACPI_TABLE_ID_MAX + 1] = {
        /***********    Name,   Signature, Global typed pointer     Signature size,      Type                  How many allowed?,    Contains valid AML? */
 
        /* RSDP 0 */ {RSDP_NAME, RSDP_SIG, NULL, sizeof(RSDP_SIG) - 1,
 {
 
        if (space_id >= ACPI_USER_REGION_BEGIN) {
-               return ("user_defined_region");
+               return ("UserDefinedRegion");
        } else if (space_id >= ACPI_NUM_PREDEFINED_REGIONS) {
-               return ("invalid_space_id");
+               return ("InvalidSpaceId");
        }
 
        return (ACPI_CAST_PTR(char, acpi_gbl_region_types[space_id]));
 {
 
        if (event_id > ACPI_EVENT_MAX) {
-               return ("invalid_event_iD");
+               return ("InvalidEventID");
        }
 
        return (ACPI_CAST_PTR(char, acpi_gbl_event_types[event_id]));
        acpi_status status;
        u32 i;
 
-       ACPI_FUNCTION_TRACE("ut_init_globals");
+       ACPI_FUNCTION_TRACE(ut_init_globals);
 
        /* Create all memory caches */
 
 
        /* ACPI table structure */
 
-       for (i = 0; i < NUM_ACPI_TABLE_TYPES; i++) {
+       for (i = 0; i < (ACPI_TABLE_ID_MAX + 1); i++) {
                acpi_gbl_table_lists[i].next = NULL;
                acpi_gbl_table_lists[i].count = 0;
        }
 
        struct acpi_gpe_xrupt_info *gpe_xrupt_info;
        struct acpi_gpe_xrupt_info *next_gpe_xrupt_info;
 
-       ACPI_FUNCTION_TRACE("ut_terminate");
+       ACPI_FUNCTION_TRACE(ut_terminate);
 
        /* Free global tables, etc. */
        /* Free global GPE blocks and related info structures */
 void acpi_ut_subsystem_shutdown(void)
 {
 
-       ACPI_FUNCTION_TRACE("ut_subsystem_shutdown");
+       ACPI_FUNCTION_TRACE(ut_subsystem_shutdown);
 
        /* Just exit if subsystem is already shutdown */
 
 
        union uint64_overlay quotient;
        u32 remainder32;
 
-       ACPI_FUNCTION_TRACE("ut_short_divide");
+       ACPI_FUNCTION_TRACE(ut_short_divide);
 
        /* Always check for a zero divisor */
 
        union uint64_overlay partial2;
        union uint64_overlay partial3;
 
-       ACPI_FUNCTION_TRACE("ut_divide");
+       ACPI_FUNCTION_TRACE(ut_divide);
 
        /* Always check for a zero divisor */
 
                     acpi_integer * out_quotient, u32 * out_remainder)
 {
 
-       ACPI_FUNCTION_TRACE("ut_short_divide");
+       ACPI_FUNCTION_TRACE(ut_short_divide);
 
        /* Always check for a zero divisor */
 
               acpi_integer in_divisor,
               acpi_integer * out_quotient, acpi_integer * out_remainder)
 {
-       ACPI_FUNCTION_TRACE("ut_divide");
+       ACPI_FUNCTION_TRACE(ut_divide);
 
        /* Always check for a zero divisor */
 
 
        acpi_native_uint k;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ut_allocate_owner_id");
+       ACPI_FUNCTION_TRACE(ut_allocate_owner_id);
 
        /* Guard against multiple allocations of ID to the same location */
 
                                    (acpi_owner_id) ((k + 1) + ACPI_MUL_32(j));
 
                                ACPI_DEBUG_PRINT((ACPI_DB_VALUES,
-                                                 "Allocated owner_id: %2.2X\n",
+                                                 "Allocated OwnerId: %2.2X\n",
                                                  (unsigned int)*owner_id));
                                goto exit;
                        }
         */
        status = AE_OWNER_ID_LIMIT;
        ACPI_ERROR((AE_INFO,
-                   "Could not allocate new owner_id (255 max), AE_OWNER_ID_LIMIT"));
+                   "Could not allocate new OwnerId (255 max), AE_OWNER_ID_LIMIT"));
 
       exit:
        (void)acpi_ut_release_mutex(ACPI_MTX_CACHES);
        acpi_native_uint index;
        u32 bit;
 
-       ACPI_FUNCTION_TRACE_U32("ut_release_owner_id", owner_id);
+       ACPI_FUNCTION_TRACE_U32(ut_release_owner_id, owner_id);
 
        /* Always clear the input owner_id (zero is an invalid ID) */
 
        /* Zero is not a valid owner_iD */
 
        if (owner_id == 0) {
-               ACPI_ERROR((AE_INFO, "Invalid owner_id: %2.2X", owner_id));
+               ACPI_ERROR((AE_INFO, "Invalid OwnerId: %2.2X", owner_id));
                return_VOID;
        }
 
                acpi_gbl_owner_id_mask[index] ^= bit;
        } else {
                ACPI_ERROR((AE_INFO,
-                           "Release of non-allocated owner_id: %2.2X",
+                           "Release of non-allocated OwnerId: %2.2X",
                            owner_id + 1));
        }
 
        acpi_integer return_value = 0;
        acpi_integer quotient;
 
-       ACPI_FUNCTION_TRACE("ut_stroul64");
+       ACPI_FUNCTION_TRACE(ut_stroul64);
 
        if ((!string) || !(*string)) {
                goto error_exit;
        u32 this_index;
        union acpi_operand_object *this_source_obj;
 
-       ACPI_FUNCTION_TRACE("ut_walk_package_tree");
+       ACPI_FUNCTION_TRACE(ut_walk_package_tree);
 
        state = acpi_ut_create_pkg_state(source_object, target_object, 0);
        if (!state) {
 
        u32 i;
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ut_mutex_initialize");
+       ACPI_FUNCTION_TRACE(ut_mutex_initialize);
 
        /*
         * Create each of the predefined mutex objects
 {
        u32 i;
 
-       ACPI_FUNCTION_TRACE("ut_mutex_terminate");
+       ACPI_FUNCTION_TRACE(ut_mutex_terminate);
 
        /*
         * Delete each predefined mutex object
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE_U32("ut_create_mutex", mutex_id);
+       ACPI_FUNCTION_TRACE_U32(ut_create_mutex, mutex_id);
 
        if (mutex_id > MAX_MUTEX) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE_U32("ut_delete_mutex", mutex_id);
+       ACPI_FUNCTION_TRACE_U32(ut_delete_mutex, mutex_id);
 
        if (mutex_id > MAX_MUTEX) {
                return_ACPI_STATUS(AE_BAD_PARAMETER);
        acpi_status status;
        acpi_thread_id this_thread_id;
 
-       ACPI_FUNCTION_NAME("ut_acquire_mutex");
+       ACPI_FUNCTION_NAME(ut_acquire_mutex);
 
        if (mutex_id > MAX_MUTEX) {
                return (AE_BAD_PARAMETER);
        acpi_status status;
        acpi_thread_id this_thread_id;
 
-       ACPI_FUNCTION_NAME("ut_release_mutex");
+       ACPI_FUNCTION_NAME(ut_release_mutex);
 
        this_thread_id = acpi_os_get_thread_id();
        ACPI_DEBUG_PRINT((ACPI_DB_MUTEX,
 
        union acpi_operand_object *object;
        union acpi_operand_object *second_object;
 
-       ACPI_FUNCTION_TRACE_STR("ut_create_internal_object_dbg",
+       ACPI_FUNCTION_TRACE_STR(ut_create_internal_object_dbg,
                                acpi_ut_get_type_name(type));
 
        /* Allocate the raw object descriptor */
        union acpi_operand_object *buffer_desc;
        u8 *buffer = NULL;
 
-       ACPI_FUNCTION_TRACE_U32("ut_create_buffer_object", buffer_size);
+       ACPI_FUNCTION_TRACE_U32(ut_create_buffer_object, buffer_size);
 
        /* Create a new Buffer object */
 
        union acpi_operand_object *string_desc;
        char *string;
 
-       ACPI_FUNCTION_TRACE_U32("ut_create_string_object", string_size);
+       ACPI_FUNCTION_TRACE_U32(ut_create_string_object, string_size);
 
        /* Create a new String object */
 
 u8 acpi_ut_valid_internal_object(void *object)
 {
 
-       ACPI_FUNCTION_NAME("ut_valid_internal_object");
+       ACPI_FUNCTION_NAME(ut_valid_internal_object);
 
        /* Check for a null pointer */
 
 {
        union acpi_operand_object *object;
 
-       ACPI_FUNCTION_TRACE("ut_allocate_object_desc_dbg");
+       ACPI_FUNCTION_TRACE(ut_allocate_object_desc_dbg);
 
        object = acpi_os_acquire_object(acpi_gbl_operand_cache);
        if (!object) {
 
 void acpi_ut_delete_object_desc(union acpi_operand_object *object)
 {
-       ACPI_FUNCTION_TRACE_PTR("ut_delete_object_desc", object);
+       ACPI_FUNCTION_TRACE_PTR(ut_delete_object_desc, object);
 
        /* Object must be an union acpi_operand_object    */
 
        acpi_size length;
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE_PTR("ut_get_simple_object_size", internal_object);
+       ACPI_FUNCTION_TRACE_PTR(ut_get_simple_object_size, internal_object);
 
        /*
         * Handle a null object (Could be a uninitialized package
        acpi_status status;
        struct acpi_pkg_info info;
 
-       ACPI_FUNCTION_TRACE_PTR("ut_get_package_object_size", internal_object);
+       ACPI_FUNCTION_TRACE_PTR(ut_get_package_object_size, internal_object);
 
        info.length = 0;
        info.object_space = 0;
 
 #include <acpi/amlresrc.h>
 
 #define _COMPONENT          ACPI_UTILITIES
-ACPI_MODULE_NAME("utmisc")
+ACPI_MODULE_NAME("utresrc")
 
 #if defined(ACPI_DISASSEMBLER) || defined (ACPI_DEBUGGER)
 /*
  * Strings used to decode resource descriptors.
  * Used by both the disasssembler and the debugger resource dump routines
  */
-const char *acpi_gbl_BMdecode[2] = {
-       "not_bus_master",
-       "bus_master"
+const char *acpi_gbl_bm_decode[] = {
+       "NotBusMaster",
+       "BusMaster"
 };
 
-const char *acpi_gbl_config_decode[4] = {
+const char *acpi_gbl_config_decode[] = {
        "0 - Good Configuration",
        "1 - Acceptable Configuration",
        "2 - Suboptimal Configuration",
        "3 - ***Invalid Configuration***",
 };
 
-const char *acpi_gbl_consume_decode[2] = {
-       "resource_producer",
-       "resource_consumer"
+const char *acpi_gbl_consume_decode[] = {
+       "ResourceProducer",
+       "ResourceConsumer"
 };
 
-const char *acpi_gbl_DECdecode[2] = {
-       "pos_decode",
-       "sub_decode"
+const char *acpi_gbl_dec_decode[] = {
+       "PosDecode",
+       "SubDecode"
 };
 
-const char *acpi_gbl_HEdecode[2] = {
+const char *acpi_gbl_he_decode[] = {
        "Level",
        "Edge"
 };
 
-const char *acpi_gbl_io_decode[2] = {
+const char *acpi_gbl_io_decode[] = {
        "Decode10",
        "Decode16"
 };
 
-const char *acpi_gbl_LLdecode[2] = {
-       "active_high",
-       "active_low"
+const char *acpi_gbl_ll_decode[] = {
+       "ActiveHigh",
+       "ActiveLow"
 };
 
-const char *acpi_gbl_max_decode[2] = {
-       "max_not_fixed",
-       "max_fixed"
+const char *acpi_gbl_max_decode[] = {
+       "MaxNotFixed",
+       "MaxFixed"
 };
 
-const char *acpi_gbl_MEMdecode[4] = {
-       "non_cacheable",
+const char *acpi_gbl_mem_decode[] = {
+       "NonCacheable",
        "Cacheable",
-       "write_combining",
+       "WriteCombining",
        "Prefetchable"
 };
 
-const char *acpi_gbl_min_decode[2] = {
-       "min_not_fixed",
-       "min_fixed"
+const char *acpi_gbl_min_decode[] = {
+       "MinNotFixed",
+       "MinFixed"
 };
 
-const char *acpi_gbl_MTPdecode[4] = {
-       "address_range_memory",
-       "address_range_reserved",
-       "address_range_aCPI",
-       "address_range_nVS"
+const char *acpi_gbl_mtp_decode[] = {
+       "AddressRangeMemory",
+       "AddressRangeReserved",
+       "AddressRangeACPI",
+       "AddressRangeNVS"
 };
 
-const char *acpi_gbl_RNGdecode[4] = {
-       "invalid_ranges",
-       "non_iSAonly_ranges",
-       "ISAonly_ranges",
-       "entire_range"
+const char *acpi_gbl_rng_decode[] = {
+       "InvalidRanges",
+       "NonISAOnlyRanges",
+       "ISAOnlyRanges",
+       "EntireRange"
 };
 
-const char *acpi_gbl_RWdecode[2] = {
-       "read_only",
-       "read_write"
+const char *acpi_gbl_rw_decode[] = {
+       "ReadOnly",
+       "ReadWrite"
 };
 
-const char *acpi_gbl_SHRdecode[2] = {
+const char *acpi_gbl_shr_decode[] = {
        "Exclusive",
        "Shared"
 };
 
-const char *acpi_gbl_SIZdecode[4] = {
+const char *acpi_gbl_siz_decode[] = {
        "Transfer8",
        "Transfer8_16",
        "Transfer16",
-       "invalid_size"
+       "InvalidSize"
 };
 
-const char *acpi_gbl_TRSdecode[2] = {
-       "dense_translation",
-       "sparse_translation"
+const char *acpi_gbl_trs_decode[] = {
+       "DenseTranslation",
+       "SparseTranslation"
 };
 
-const char *acpi_gbl_TTPdecode[2] = {
-       "type_static",
-       "type_translation"
+const char *acpi_gbl_ttp_decode[] = {
+       "TypeStatic",
+       "TypeTranslation"
 };
 
-const char *acpi_gbl_TYPdecode[4] = {
+const char *acpi_gbl_typ_decode[] = {
        "Compatibility",
-       "type_a",
-       "type_b",
-       "type_f"
+       "TypeA",
+       "TypeB",
+       "TypeF"
 };
 
 #endif
        u32 length;
        u32 offset = 0;
 
-       ACPI_FUNCTION_TRACE("ut_walk_aml_resources");
+       ACPI_FUNCTION_TRACE(ut_walk_aml_resources);
 
        /* The absolute minimum resource template is one end_tag descriptor */
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("ut_get_resource_end_tag");
+       ACPI_FUNCTION_TRACE(ut_get_resource_end_tag);
 
        /* Allow a buffer length of zero */
 
 
 acpi_ut_push_generic_state(union acpi_generic_state **list_head,
                           union acpi_generic_state *state)
 {
-       ACPI_FUNCTION_TRACE("ut_push_generic_state");
+       ACPI_FUNCTION_TRACE(ut_push_generic_state);
 
        /* Push the state object onto the front of the list (stack) */
 
 {
        union acpi_generic_state *state;
 
-       ACPI_FUNCTION_TRACE("ut_pop_generic_state");
+       ACPI_FUNCTION_TRACE(ut_pop_generic_state);
 
        /* Remove the state object at the head of the list (stack) */
 
 {
        union acpi_generic_state *state;
 
-       ACPI_FUNCTION_TRACE("ut_create_thread_state");
+       ACPI_FUNCTION_TRACE(ut_create_thread_state);
 
        /* Create the generic state object */
 
 {
        union acpi_generic_state *state;
 
-       ACPI_FUNCTION_TRACE_PTR("ut_create_update_state", object);
+       ACPI_FUNCTION_TRACE_PTR(ut_create_update_state, object);
 
        /* Create the generic state object */
 
 {
        union acpi_generic_state *state;
 
-       ACPI_FUNCTION_TRACE_PTR("ut_create_pkg_state", internal_object);
+       ACPI_FUNCTION_TRACE_PTR(ut_create_pkg_state, internal_object);
 
        /* Create the generic state object */
 
 {
        union acpi_generic_state *state;
 
-       ACPI_FUNCTION_TRACE("ut_create_control_state");
+       ACPI_FUNCTION_TRACE(ut_create_control_state);
 
        /* Create the generic state object */
 
 
 void acpi_ut_delete_generic_state(union acpi_generic_state *state)
 {
-       ACPI_FUNCTION_TRACE("ut_delete_generic_state");
+       ACPI_FUNCTION_TRACE(ut_delete_generic_state);
 
        /* Ignore null state */
 
 
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_initialize_subsystem");
+       ACPI_FUNCTION_TRACE(acpi_initialize_subsystem);
 
        ACPI_DEBUG_EXEC(acpi_ut_init_stack_ptr_trace());
 
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("acpi_enable_subsystem");
+       ACPI_FUNCTION_TRACE(acpi_enable_subsystem);
 
        /*
         * We must initialize the hardware before we can enable ACPI.
 
                status = acpi_enable();
                if (ACPI_FAILURE(status)) {
-                       ACPI_WARNING((AE_INFO, "acpi_enable failed"));
+                       ACPI_WARNING((AE_INFO, "AcpiEnable failed"));
                        return_ACPI_STATUS(status);
                }
        }
 {
        acpi_status status = AE_OK;
 
-       ACPI_FUNCTION_TRACE("acpi_initialize_objects");
+       ACPI_FUNCTION_TRACE(acpi_initialize_objects);
 
        /*
         * Run all _REG methods
         */
        if (!(flags & ACPI_NO_ADDRESS_SPACE_INIT)) {
                ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-                                 "[Init] Executing _REG op_region methods\n"));
+                                 "[Init] Executing _REG OpRegion methods\n"));
 
                status = acpi_ev_initialize_op_regions();
                if (ACPI_FAILURE(status)) {
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_terminate");
+       ACPI_FUNCTION_TRACE(acpi_terminate);
 
        /* Terminate the AML Debugger if present */
 
        acpi_status status;
        u32 i;
 
-       ACPI_FUNCTION_TRACE("acpi_get_system_info");
+       ACPI_FUNCTION_TRACE(acpi_get_system_info);
 
        /* Parameter validation */
 
 
        /* Current status of the ACPI tables, per table type */
 
-       info_ptr->num_table_types = NUM_ACPI_TABLE_TYPES;
-       for (i = 0; i < NUM_ACPI_TABLE_TYPES; i++) {
+       info_ptr->num_table_types = ACPI_TABLE_ID_MAX + 1;
+       for (i = 0; i < (ACPI_TABLE_ID_MAX + 1); i++) {
                info_ptr->table_info[i].count = acpi_gbl_table_lists[i].count;
        }
 
  ****************************************************************************/
 acpi_status acpi_purge_cached_objects(void)
 {
-       ACPI_FUNCTION_TRACE("acpi_purge_cached_objects");
+       ACPI_FUNCTION_TRACE(acpi_purge_cached_objects);
 
        (void)acpi_os_purge_cache(acpi_gbl_state_cache);
        (void)acpi_os_purge_cache(acpi_gbl_operand_cache);
 
 
 /* Current ACPICA subsystem version in YYYYMMDD format */
 
-#define ACPI_CA_VERSION                 0x20060331
+#define ACPI_CA_VERSION                 0x20060421
 
 /*
  * OS name, used for the _OS object.  The _OS object is essentially obsolete,
 #define ACPI_MAX_ADDRESS_SPACE          255
 
 /* Array sizes.  Used for range checking also */
+#define ACPI_MAX_MATCH_OPCODE           5
 
+#if 0
 #define ACPI_NUM_ACCESS_TYPES           6
 #define ACPI_NUM_UPDATE_RULES           3
 #define ACPI_NUM_LOCK_RULES             2
-#define ACPI_NUM_MATCH_OPS              6
-#define ACPI_NUM_OPCODES                256
 #define ACPI_NUM_FIELD_NAMES            2
+#define ACPI_NUM_OPCODES                256
+#endif
 
 /* RSDP checksums */
 
 
 #define ACPI_SMBUS_BUFFER_SIZE          34
 
-/* Number of strings associated with the _OSI reserved method */
-
-#define ACPI_NUM_OSI_STRINGS            12
-
 /******************************************************************************
  *
  * ACPI AML Debugger
 
 
 /* Strings used for decoding flags to ASL keywords */
 
-extern const char *acpi_gbl_word_decode[4];
-extern const char *acpi_gbl_irq_decode[2];
-extern const char *acpi_gbl_lock_rule[ACPI_NUM_LOCK_RULES];
-extern const char *acpi_gbl_access_types[ACPI_NUM_ACCESS_TYPES];
-extern const char *acpi_gbl_update_rules[ACPI_NUM_UPDATE_RULES];
-extern const char *acpi_gbl_match_ops[ACPI_NUM_MATCH_OPS];
+extern const char *acpi_gbl_word_decode[];
+extern const char *acpi_gbl_irq_decode[];
+extern const char *acpi_gbl_lock_rule[];
+extern const char *acpi_gbl_access_types[];
+extern const char *acpi_gbl_update_rules[];
+extern const char *acpi_gbl_match_ops[];
 
 extern struct acpi_dmtable_info acpi_dm_table_info_asf0[];
 extern struct acpi_dmtable_info acpi_dm_table_info_asf1[];
 
 acpi_ds_restart_control_method(struct acpi_walk_state *walk_state,
                               union acpi_operand_object *return_desc);
 
-void acpi_ds_terminate_control_method(struct acpi_walk_state *walk_state);
+void
+acpi_ds_terminate_control_method(union acpi_operand_object *method_desc,
+                                struct acpi_walk_state *walk_state);
 
 acpi_status
 acpi_ds_begin_method_execution(struct acpi_namespace_node *method_node,
 
 #define AE_AML_BAD_RESOURCE_VALUE       (acpi_status) (0x001F | AE_CODE_AML)
 #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_AML_ILLEGAL_ADDRESS          (acpi_status) (0x0022 | AE_CODE_AML)
 
-#define AE_CODE_AML_MAX                 0x0021
+#define AE_CODE_AML_MAX                 0x0022
 
 /*
  * Internal exceptions used for control
        "AE_AML_NO_RESOURCE_END_TAG",
        "AE_AML_BAD_RESOURCE_VALUE",
        "AE_AML_CIRCULAR_REFERENCE",
-       "AE_AML_BAD_RESOURCE_LENGTH"
+       "AE_AML_BAD_RESOURCE_LENGTH",
+       "AE_AML_ILLEGAL_ADDRESS"
 };
 
 char const *acpi_gbl_exception_names_ctrl[] = {
 
  * Automatically serialize ALL control methods? Default is FALSE, meaning
  * to use the Serialized/not_serialized method flags on a per method basis.
  * Only change this if the ASL code is poorly written and cannot handle
- * reentrancy even though methods are marked "not_serialized".
+ * reentrancy even though methods are marked "NotSerialized".
  */
 ACPI_EXTERN u8 ACPI_INIT_GLOBAL(acpi_gbl_all_methods_serialized, FALSE);
 
 /*
  * ACPI Table info arrays
  */
-extern struct acpi_table_list acpi_gbl_table_lists[NUM_ACPI_TABLE_TYPES];
-extern struct acpi_table_support acpi_gbl_table_data[NUM_ACPI_TABLE_TYPES];
+extern struct acpi_table_list acpi_gbl_table_lists[ACPI_TABLE_ID_MAX + 1];
+extern struct acpi_table_support acpi_gbl_table_data[ACPI_TABLE_ID_MAX + 1];
 
 /*
  * Predefined mutex objects.  This array contains the
 extern const char *acpi_gbl_highest_dstate_names[4];
 extern const struct acpi_opcode_info acpi_gbl_aml_op_info[AML_NUM_OPCODES];
 extern const char *acpi_gbl_region_types[ACPI_NUM_PREDEFINED_REGIONS];
-extern const char *acpi_gbl_valid_osi_strings[ACPI_NUM_OSI_STRINGS];
 
 /*****************************************************************************
  *
 
        "ACPI_MTX_Parser",
        "ACPI_MTX_Dispatcher",
        "ACPI_MTX_Tables",
-       "ACPI_MTX_op_regions",
+       "ACPI_MTX_OpRegions",
        "ACPI_MTX_Namespace",
        "ACPI_MTX_Events",
        "ACPI_MTX_Hardware",
        "ACPI_MTX_Caches",
        "ACPI_MTX_Memory",
-       "ACPI_MTX_debug_cmd_complete",
-       "ACPI_MTX_debug_cmd_ready",
+       "ACPI_MTX_DebugCmdComplete",
+       "ACPI_MTX_DebugCmdReady",
 };
 
 #endif
 #define ANOBJ_DATA_WIDTH_32             0x02   /* Parent table uses 32-bit math */
 #define ANOBJ_METHOD_ARG                0x04   /* Node is a method argument */
 #define ANOBJ_METHOD_LOCAL              0x08   /* Node is a method local */
+#define ANOBJ_SUBTREE_HAS_INI           0x10   /* Used to optimize device initialization */
+
 #define ANOBJ_METHOD_NO_RETVal          0x10   /* i_aSL only: Method has no return value */
 #define ANOBJ_METHOD_SOME_NO_RETVal     0x20   /* i_aSL only: Method has at least one return value */
 #define ANOBJ_IS_BIT_OFFSet             0x40   /* i_aSL only: Reference is a bit offset */
+#define ANOBJ_IS_REFERENCed             0x80   /* i_aSL only: Object was referenced */
 
 /*
  * ACPI Table Descriptor.  One per ACPI table
 
 #define ACPI_CLEAR_BIT(target,bit)      ((target) &= ~(bit))
 #define ACPI_MIN(a,b)                   (((a)<(b))?(a):(b))
 
+/* Size calculation */
+
+#define ACPI_ARRAY_LENGTH(x)            (sizeof(x) / sizeof((x)[0]))
+
 #if ACPI_MACHINE_WIDTH == 16
 
 /*
 #ifndef ACPI_MISALIGNMENT_NOT_SUPPORTED
 #define ACPI_COMPARE_NAME(a,b)          (*ACPI_CAST_PTR (u32,(a)) == *ACPI_CAST_PTR (u32,(b)))
 #else
-#define ACPI_COMPARE_NAME(a,b)          (!ACPI_STRNCMP (ACPI_CAST_PTR (char,(a)), ACPI_CAST_PTR (char,(b)), 4))
+#define ACPI_COMPARE_NAME(a,b)          (!ACPI_STRNCMP (ACPI_CAST_PTR (char,(a)), ACPI_CAST_PTR (char,(b)), ACPI_NAME_SIZE))
 #endif
 
 /*
 #define ACPI_GET_FUNCTION_NAME          _acpi_function_name
 /*
  * The Name parameter should be the procedure name as a quoted string.
- * This is declared as a local string ("my_function_name") so that it can
+ * This is declared as a local string ("MyFunctionName") so that it can
  * be also used by the function exit macros below.
  * Note: (const char) is used to be compatible with the debug interfaces
  * and macros such as __FUNCTION__.
  */
-#define ACPI_FUNCTION_NAME(name)        const char *_acpi_function_name = name;
+#define ACPI_FUNCTION_NAME(name)        const char *_acpi_function_name = #name;
 
 #else
 /* Compiler supports __FUNCTION__ (or equivalent) -- Ignore this macro */
  * WARNING: These macros include a return statement.  This is usually considered
  * bad form, but having a separate exit macro is very ugly and difficult to maintain.
  * One of the FUNCTION_TRACE macros above must be used in conjunction with these macros
- * so that "_acpi_function_name" is defined.
+ * so that "_AcpiFunctionName" is defined.
  *
  * Note: the DO_WHILE0 macro is used to prevent some compilers from complaining
  * about these constructs.
 
 #define AOPOBJ_OBJECT_INITIALIZED   0x08
 #define AOPOBJ_SETUP_COMPLETE       0x10
 #define AOPOBJ_SINGLE_DATUM         0x20
+#define AOPOBJ_INVALID              0x40       /* Used if host OS won't allow an op_region address */
 
 /******************************************************************************
  *
 struct acpi_object_index_field {
        ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO
            /*
-            * No "region_obj" pointer needed since the Index and Data registers
+            * No "RegionObj" pointer needed since the Index and Data registers
             * are each field definitions unto themselves.
             */
        union acpi_operand_object *index_obj;   /* Index register */
 
  * component basis and a per-exception-type basis.
  */
 
-/* Component IDs are used in the global "debug_layer" */
+/* Component IDs are used in the global "DebugLayer" */
 
 #define ACPI_UTILITIES              0x00000001
 #define ACPI_HARDWARE               0x00000002
 #define ACPI_LV_INTERRUPTS          0x08000000
 #define ACPI_LV_VERBOSITY3          0x0F000000 | ACPI_LV_VERBOSITY2
 
-/* Exceptionally verbose output -- also used in the global "debug_level" */
+/* Exceptionally verbose output -- also used in the global "DebugLevel"  */
 
 #define ACPI_LV_AML_DISASSEMBLE     0x10000000
 #define ACPI_LV_VERBOSE_INFO        0x20000000
  */
 #define ACPI_DEBUG_LEVEL(dl)        (u32) dl,ACPI_DEBUG_PARAMETERS
 
-/* Exception level -- used in the global "debug_level" */
+/* Exception level -- used in the global "DebugLevel" */
 
 #define ACPI_DB_INIT                ACPI_DEBUG_LEVEL (ACPI_LV_INIT)
 #define ACPI_DB_DEBUG_OBJECT        ACPI_DEBUG_LEVEL (ACPI_LV_DEBUG_OBJECT)
 #define ACPI_DB_ERROR               ACPI_DEBUG_LEVEL (ACPI_LV_ERROR)
 #define ACPI_DB_WARN                ACPI_DEBUG_LEVEL (ACPI_LV_WARN)
 
-/* Trace level -- also used in the global "debug_level" */
+/* Trace level -- also used in the global "DebugLevel" */
 
 #define ACPI_DB_INIT_NAMES          ACPI_DEBUG_LEVEL (ACPI_LV_INIT_NAMES)
 #define ACPI_DB_THREADS             ACPI_DEBUG_LEVEL (ACPI_LV_THREADS)
 
 /*
  * Miscellaneous
  */
+
+acpi_status acpi_os_validate_interface(char *interface);
+
+acpi_status
+acpi_os_validate_address(u8 space_id,
+                        acpi_physical_address address, acpi_size length);
+
 u8 acpi_os_readable(void *pointer, acpi_size length);
 
 #ifdef ACPI_FUTURE_USAGE
 
  */
 typedef u32 acpi_table_type;
 
-#define ACPI_TABLE_RSDP                 (acpi_table_type) 0
-#define ACPI_TABLE_DSDT                 (acpi_table_type) 1
-#define ACPI_TABLE_FADT                 (acpi_table_type) 2
-#define ACPI_TABLE_FACS                 (acpi_table_type) 3
-#define ACPI_TABLE_PSDT                 (acpi_table_type) 4
-#define ACPI_TABLE_SSDT                 (acpi_table_type) 5
-#define ACPI_TABLE_XSDT                 (acpi_table_type) 6
-#define ACPI_TABLE_MAX                  6
-#define NUM_ACPI_TABLE_TYPES            (ACPI_TABLE_MAX+1)
+#define ACPI_TABLE_ID_RSDP              (acpi_table_type) 0
+#define ACPI_TABLE_ID_DSDT              (acpi_table_type) 1
+#define ACPI_TABLE_ID_FADT              (acpi_table_type) 2
+#define ACPI_TABLE_ID_FACS              (acpi_table_type) 3
+#define ACPI_TABLE_ID_PSDT              (acpi_table_type) 4
+#define ACPI_TABLE_ID_SSDT              (acpi_table_type) 5
+#define ACPI_TABLE_ID_XSDT              (acpi_table_type) 6
+#define ACPI_TABLE_ID_MAX               6
+#define ACPI_NUM_TABLE_TYPES            (ACPI_TABLE_ID_MAX+1)
 
 /*
  * Types associated with ACPI names and objects.  The first group of
        u32 debug_level;
        u32 debug_layer;
        u32 num_table_types;
-       struct acpi_table_info table_info[NUM_ACPI_TABLE_TYPES];
+       struct acpi_table_info table_info[ACPI_TABLE_ID_MAX + 1];
 };
 
 /*
 #define ACPI_STA_DEVICE_PRESENT         0x01
 #define ACPI_STA_DEVICE_ENABLED         0x02
 #define ACPI_STA_DEVICE_UI              0x04
-#define ACPI_STA_DEVICE_OK              0x08
+#define ACPI_STA_DEVICE_FUNCTIONING     0x08
+#define ACPI_STA_DEVICE_OK              0x08   /* Synonym */
 #define ACPI_STA_BATTERY_PRESENT        0x10
 
 #define ACPI_COMMON_OBJ_INFO \
 
 
 #if defined(ACPI_DISASSEMBLER) || defined (ACPI_DEBUGGER)
 
-extern const char *acpi_gbl_BMdecode[2];
-extern const char *acpi_gbl_config_decode[4];
-extern const char *acpi_gbl_consume_decode[2];
-extern const char *acpi_gbl_DECdecode[2];
-extern const char *acpi_gbl_HEdecode[2];
-extern const char *acpi_gbl_io_decode[2];
-extern const char *acpi_gbl_LLdecode[2];
-extern const char *acpi_gbl_max_decode[2];
-extern const char *acpi_gbl_MEMdecode[4];
-extern const char *acpi_gbl_min_decode[2];
-extern const char *acpi_gbl_MTPdecode[4];
-extern const char *acpi_gbl_RNGdecode[4];
-extern const char *acpi_gbl_RWdecode[2];
-extern const char *acpi_gbl_SHRdecode[2];
-extern const char *acpi_gbl_SIZdecode[4];
-extern const char *acpi_gbl_TRSdecode[2];
-extern const char *acpi_gbl_TTPdecode[2];
-extern const char *acpi_gbl_TYPdecode[4];
+extern const char *acpi_gbl_bm_decode[];
+extern const char *acpi_gbl_config_decode[];
+extern const char *acpi_gbl_consume_decode[];
+extern const char *acpi_gbl_dec_decode[];
+extern const char *acpi_gbl_he_decode[];
+extern const char *acpi_gbl_io_decode[];
+extern const char *acpi_gbl_ll_decode[];
+extern const char *acpi_gbl_max_decode[];
+extern const char *acpi_gbl_mem_decode[];
+extern const char *acpi_gbl_min_decode[];
+extern const char *acpi_gbl_mtp_decode[];
+extern const char *acpi_gbl_rng_decode[];
+extern const char *acpi_gbl_rw_decode[];
+extern const char *acpi_gbl_shr_decode[];
+extern const char *acpi_gbl_siz_decode[];
+extern const char *acpi_gbl_trs_decode[];
+extern const char *acpi_gbl_ttp_decode[];
+extern const char *acpi_gbl_typ_decode[];
 #endif
 
 /* Types for Resource descriptor entries */
 acpi_status(*acpi_walk_aml_callback) (u8 * aml,
                                      u32 length,
                                      u32 offset,
-                                     u8 resource_index, void *context);
+                                     u8 resource_index, void **context);
 
 typedef
 acpi_status(*acpi_pkg_callback) (u8 object_type,
 
  */
 
 #ifdef ACPI_LIBRARY
+/*
+ * Note: The non-debug version of the acpi_library does not contain any
+ * debug support, for minimimal size. The debug version uses ACPI_FULL_DEBUG
+ */
 #define ACPI_USE_LOCAL_CACHE
 #endif
 
-#ifdef ACPI_DUMP_APP
-#ifndef MSDOS
+#ifdef ACPI_ASL_COMPILER
 #define ACPI_DEBUG_OUTPUT
-#endif
 #define ACPI_APPLICATION
 #define ACPI_DISASSEMBLER
-#define ACPI_NO_METHOD_EXECUTION
+#define ACPI_CONSTANT_EVAL_ONLY
 #define ACPI_LARGE_NAMESPACE_NODE
 #define ACPI_DATA_TABLE_DISASSEMBLY
 #endif
 #ifdef ACPI_EXEC_APP
 #undef DEBUGGER_THREADING
 #define DEBUGGER_THREADING      DEBUGGER_SINGLE_THREADED
-#define ACPI_DEBUG_OUTPUT
+#define ACPI_FULL_DEBUG
 #define ACPI_APPLICATION
 #define ACPI_DEBUGGER
-#define ACPI_DISASSEMBLER
 #define ACPI_MUTEX_DEBUG
 #define ACPI_DBG_TRACK_ALLOCATIONS
 #endif
 
-#ifdef ACPI_ASL_COMPILER
+#ifdef ACPI_DASM_APP
+#ifndef MSDOS
 #define ACPI_DEBUG_OUTPUT
+#endif
 #define ACPI_APPLICATION
 #define ACPI_DISASSEMBLER
-#define ACPI_CONSTANT_EVAL_ONLY
+#define ACPI_NO_METHOD_EXECUTION
 #define ACPI_LARGE_NAMESPACE_NODE
 #define ACPI_DATA_TABLE_DISASSEMBLY
 #endif
 #define ACPI_USE_LOCAL_CACHE
 #endif
 
+#ifdef ACPI_FULL_DEBUG
+#define ACPI_DEBUGGER
+#define ACPI_DEBUG_OUTPUT
+#define ACPI_DISASSEMBLER
+#endif
+
 /*
  * Environment configuration.  The purpose of this file is to interface to the
  * local generation environment.