linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / acpi / dispatcher / dswload.c
index e3ca7f6..d3d24da 100644 (file)
@@ -127,7 +127,7 @@ acpi_ds_load1_begin_op(struct acpi_walk_state * walk_state,
        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,
@@ -175,15 +175,15 @@ acpi_ds_load1_begin_op(struct acpi_walk_state * walk_state,
                if (status == AE_NOT_FOUND) {
                        /*
                         * Table disassembly:
-                        * Target of Scope() not found. Generate an External for it, and
+                        * Target of Scope() not found.  Generate an External for it, and
                         * insert the name into the namespace.
                         */
-                       acpi_dm_add_to_external_list(path, ACPI_TYPE_DEVICE, 0);
+                       acpi_dm_add_to_external_list(path);
                        status =
                            acpi_ns_lookup(walk_state->scope_info, path,
                                           object_type, ACPI_IMODE_LOAD_PASS1,
                                           ACPI_NS_SEARCH_PARENT, walk_state,
-                                          &node);
+                                          &(node));
                }
 #endif
                if (ACPI_FAILURE(status)) {
@@ -210,15 +210,16 @@ acpi_ds_load1_begin_op(struct acpi_walk_state * walk_state,
                case ACPI_TYPE_BUFFER:
 
                        /*
-                        * These types we will allow, but we will change the type. This
+                        * These types we will allow, but we will change the type.  This
                         * enables some existing code of the form:
                         *
                         *  Name (DEB, 0)
                         *  Scope (DEB) { ... }
                         *
-                        * Note: silently change the type here. On the second pass, we will report
+                        * Note: silently change the type here.  On the second pass, we will report
                         * a warning
                         */
+
                        ACPI_DEBUG_PRINT((ACPI_DB_INFO,
                                          "Type override - [%4.4s] had invalid type (%s) for Scope operator, changed to (Scope)\n",
                                          path,
@@ -241,6 +242,7 @@ acpi_ds_load1_begin_op(struct acpi_walk_state * walk_state,
                break;
 
        default:
+
                /*
                 * For all other named opcodes, we will enter the name into
                 * the namespace.
@@ -257,8 +259,8 @@ acpi_ds_load1_begin_op(struct acpi_walk_state * walk_state,
                 *       buffer_field, or Package), the name of the object is already
                 *       in the namespace.
                 */
-               if (walk_state->deferred_node) {
 
+               if (walk_state->deferred_node) {
                        /* This name is already in the namespace, get the node */
 
                        node = walk_state->deferred_node;
@@ -290,49 +292,18 @@ acpi_ds_load1_begin_op(struct acpi_walk_state * walk_state,
                }
 
                /*
-                * Enter the named type into the internal namespace. We enter the name
-                * as we go downward in the parse tree. Any necessary subobjects that
+                * Enter the named type into the internal namespace.  We enter the name
+                * as we go downward in the parse tree.  Any necessary subobjects that
                 * involve arguments to the opcode must be created as we go back up the
                 * parse tree later.
                 */
                status =
                    acpi_ns_lookup(walk_state->scope_info, path, object_type,
                                   ACPI_IMODE_LOAD_PASS1, flags, walk_state,
-                                  &node);
+                                  &(node));
                if (ACPI_FAILURE(status)) {
-                       if (status == AE_ALREADY_EXISTS) {
-
-                               /* The name already exists in this scope */
-
-                               if (node->flags & ANOBJ_IS_EXTERNAL) {
-                                       /*
-                                        * Allow one create on an object or segment that was
-                                        * previously declared External
-                                        */
-                                       node->flags &= ~ANOBJ_IS_EXTERNAL;
-                                       node->type = (u8) object_type;
-
-                                       /* Just retyped a node, probably will need to open a scope */
-
-                                       if (acpi_ns_opens_scope(object_type)) {
-                                               status =
-                                                   acpi_ds_scope_stack_push
-                                                   (node, object_type,
-                                                    walk_state);
-                                               if (ACPI_FAILURE(status)) {
-                                                       return_ACPI_STATUS
-                                                           (status);
-                                               }
-                                       }
-
-                                       status = AE_OK;
-                               }
-                       }
-
-                       if (ACPI_FAILURE(status)) {
-                               ACPI_ERROR_NAMESPACE(path, status);
-                               return_ACPI_STATUS(status);
-                       }
+                       ACPI_ERROR_NAMESPACE(path, status);
+                       return_ACPI_STATUS(status);
                }
                break;
        }
@@ -340,7 +311,6 @@ acpi_ds_load1_begin_op(struct acpi_walk_state * walk_state,
        /* Common exit */
 
        if (!op) {
-
                /* Create a new op */
 
                op = acpi_ps_alloc_op(walk_state->opcode);
@@ -389,7 +359,7 @@ acpi_status acpi_ds_load1_end_op(struct acpi_walk_state *walk_state)
        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,
@@ -431,13 +401,9 @@ acpi_status acpi_ds_load1_end_op(struct acpi_walk_state *walk_state)
                        status =
                            acpi_ex_create_region(op->named.data,
                                                  op->named.length,
-                                                 (acpi_adr_space_type) ((op->
-                                                                         common.
-                                                                         value.
-                                                                         arg)->
-                                                                        common.
-                                                                        value.
-                                                                        integer),
+                                                 (acpi_adr_space_type)
+                                                 ((op->common.value.arg)->
+                                                  common.value.integer),
                                                  walk_state);
                        if (ACPI_FAILURE(status)) {
                                return_ACPI_STATUS(status);
@@ -447,7 +413,6 @@ acpi_status acpi_ds_load1_end_op(struct acpi_walk_state *walk_state)
 #endif
 
        if (op->common.aml_opcode == AML_NAME_OP) {
-
                /* For Name opcode, get the object type from the argument */
 
                if (op->common.value.arg) {
@@ -475,12 +440,12 @@ acpi_status acpi_ds_load1_end_op(struct acpi_walk_state *walk_state)
                         * method_op pkg_length name_string method_flags term_list
                         *
                         * Note: We must create the method node/object pair as soon as we
-                        * see the method declaration. This allows later pass1 parsing
+                        * see the method declaration.  This allows later pass1 parsing
                         * of invocations of the method (need to know the number of
                         * arguments.)
                         */
                        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
-                                         "LOADING-Method: State=%p Op=%p NamedObj=%p\n",
+                                         "LOADING-Method: State=%p Op=%p named_obj=%p\n",
                                          walk_state, op, op->named.node));
 
                        if (!acpi_ns_get_attached_object(op->named.node)) {
@@ -500,7 +465,6 @@ acpi_status acpi_ds_load1_end_op(struct acpi_walk_state *walk_state)
                                                                  length,
                                                                  walk_state);
                                }
-
                                walk_state->operands[0] = NULL;
                                walk_state->num_operands = 0;
 
@@ -547,7 +511,7 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
        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,
@@ -557,7 +521,6 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
                if ((walk_state->control_state) &&
                    (walk_state->control_state->common.state ==
                     ACPI_CONTROL_CONDITIONAL_EXECUTING)) {
-
                        /* We are executing a while loop outside of a method */
 
                        status = acpi_ds_exec_begin_op(walk_state, out_op);
@@ -572,6 +535,7 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
 #ifdef ACPI_ENABLE_MODULE_LEVEL_CODE
                        if ((walk_state->op_info->class == AML_CLASS_EXECUTE) ||
                            (walk_state->op_info->class == AML_CLASS_CONTROL)) {
+
                                ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
                                                  "Begin/EXEC: %s (fl %8.8X)\n",
                                                  walk_state->op_info->name,
@@ -590,12 +554,10 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
                /* Get the name we are going to enter or lookup in the namespace */
 
                if (walk_state->opcode == AML_INT_NAMEPATH_OP) {
-
                        /* For Namepath op, get the path string */
 
                        buffer_ptr = op->common.value.string;
                        if (!buffer_ptr) {
-
                                /* No name, just exit */
 
                                return_ACPI_STATUS(AE_OK);
@@ -603,7 +565,7 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
                } else {
                        /* Get name from the op */
 
-                       buffer_ptr = ACPI_CAST_PTR(char, &op->named.name);
+                       buffer_ptr = (char *)&op->named.name;
                }
        } else {
                /* Get the namestring from the raw AML */
@@ -630,6 +592,7 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
                break;
 
        case AML_INT_NAMEPATH_OP:
+
                /*
                 * The name_path is an object reference to an existing object.
                 * Don't enter the name into the namespace, but look it up
@@ -642,6 +605,7 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
                break;
 
        case AML_SCOPE_OP:
+
                /*
                 * The Path is an object reference to an existing object.
                 * Don't enter the name into the namespace, but look it up
@@ -663,7 +627,6 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
 #endif
                        return_ACPI_STATUS(status);
                }
-
                /*
                 * We must check to make sure that the target is
                 * one of the opcodes that actually opens a scope
@@ -683,12 +646,13 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
                case ACPI_TYPE_BUFFER:
 
                        /*
-                        * These types we will allow, but we will change the type. This
+                        * These types we will allow, but we will change the type.  This
                         * enables some existing code of the form:
                         *
                         *  Name (DEB, 0)
                         *  Scope (DEB) { ... }
                         */
+
                        ACPI_WARNING((AE_INFO,
                                      "Type override - [%4.4s] had invalid type (%s) for Scope operator, changed to (Scope)",
                                      buffer_ptr,
@@ -716,7 +680,6 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
                /* All other opcodes */
 
                if (op && op->common.node) {
-
                        /* This op/node was previously entered into the namespace */
 
                        node = op->common.node;
@@ -728,21 +691,20 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
                                if (ACPI_FAILURE(status)) {
                                        return_ACPI_STATUS(status);
                                }
-                       }
 
+                       }
                        return_ACPI_STATUS(AE_OK);
                }
 
                /*
-                * Enter the named type into the internal namespace. We enter the name
-                * as we go downward in the parse tree. Any necessary subobjects that
+                * Enter the named type into the internal namespace.  We enter the name
+                * as we go downward in the parse tree.  Any necessary subobjects that
                 * involve arguments to the opcode must be created as we go back up the
                 * parse tree later.
                 *
                 * Note: Name may already exist if we are executing a deferred opcode.
                 */
                if (walk_state->deferred_node) {
-
                        /* This name is already in the namespace, get the node */
 
                        node = walk_state->deferred_node;
@@ -765,7 +727,6 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
        }
 
        if (!op) {
-
                /* Create a new op */
 
                op = acpi_ps_alloc_op(walk_state->opcode);
@@ -786,6 +747,7 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
         * can get it again quickly when this scope is closed
         */
        op->common.node = node;
+
        return_ACPI_STATUS(status);
 }
 
@@ -814,7 +776,7 @@ acpi_status acpi_ds_load2_end_op(struct acpi_walk_state *walk_state)
        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",
@@ -908,7 +870,7 @@ acpi_status acpi_ds_load2_end_op(struct acpi_walk_state *walk_state)
         */
 
        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
-                         "Create-Load [%s] State=%p Op=%p NamedObj=%p\n",
+                         "Create-Load [%s] State=%p Op=%p named_obj=%p\n",
                          acpi_ps_get_opcode_name(op->common.aml_opcode),
                          walk_state, op, node));
 
@@ -920,6 +882,7 @@ acpi_status acpi_ds_load2_end_op(struct acpi_walk_state *walk_state)
 #ifndef ACPI_NO_METHOD_EXECUTION
 
        case AML_TYPE_CREATE_FIELD:
+
                /*
                 * Create the field object, but the field buffer and index must
                 * be evaluated later during the execution phase
@@ -928,6 +891,7 @@ acpi_status acpi_ds_load2_end_op(struct acpi_walk_state *walk_state)
                break;
 
        case AML_TYPE_NAMED_FIELD:
+
                /*
                 * If we are executing a method, initialize the field
                 */
@@ -1047,7 +1011,6 @@ acpi_status acpi_ds_load2_end_op(struct acpi_walk_state *walk_state)
                         * argument is the space_id. (We must save the address of the
                         * AML of the address and length operands)
                         */
-
                        /*
                         * If we have a valid region, initialize it
                         * Namespace is NOT locked at this point.
@@ -1077,12 +1040,12 @@ acpi_status acpi_ds_load2_end_op(struct acpi_walk_state *walk_state)
                         * method_op pkg_length name_string method_flags term_list
                         *
                         * Note: We must create the method node/object pair as soon as we
-                        * see the method declaration. This allows later pass1 parsing
+                        * see the method declaration.  This allows later pass1 parsing
                         * of invocations of the method (need to know the number of
                         * arguments.)
                         */
                        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
-                                         "LOADING-Method: State=%p Op=%p NamedObj=%p\n",
+                                         "LOADING-Method: State=%p Op=%p named_obj=%p\n",
                                          walk_state, op, op->named.node));
 
                        if (!acpi_ns_get_attached_object(op->named.node)) {
@@ -1127,7 +1090,7 @@ acpi_status acpi_ds_load2_end_op(struct acpi_walk_state *walk_state)
        case AML_CLASS_METHOD_CALL:
 
                ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
-                                 "RESOLVING-MethodCall: State=%p Op=%p NamedObj=%p\n",
+                                 "RESOLVING-method_call: State=%p Op=%p named_obj=%p\n",
                                  walk_state, op, node));
 
                /*
@@ -1141,6 +1104,7 @@ acpi_status acpi_ds_load2_end_op(struct acpi_walk_state *walk_state)
                                   ACPI_NS_DONT_OPEN_SCOPE, walk_state,
                                   &(new_node));
                if (ACPI_SUCCESS(status)) {
+
                        /*
                         * Make sure that what we found is indeed a method
                         * We didn't search for a method on purpose, to see if the name