This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / drivers / acpi / parser / psutils.c
index 148b8f4..e4b8a28 100644 (file)
@@ -129,9 +129,10 @@ union acpi_parse_object*
 acpi_ps_alloc_op (
        u16                             opcode)
 {
-       union acpi_parse_object         *op;
+       union acpi_parse_object         *op = NULL;
+       u32                             size;
+       u8                              flags;
        const struct acpi_opcode_info   *op_info;
-       u8                              flags = ACPI_PARSEOP_GENERIC;
 
 
        ACPI_FUNCTION_ENTRY ();
@@ -139,28 +140,32 @@ acpi_ps_alloc_op (
 
        op_info = acpi_ps_get_opcode_info (opcode);
 
-       /* Determine type of parse_op required */
+       /* Allocate the minimum required size object */
 
        if (op_info->flags & AML_DEFER) {
+               size = sizeof (struct acpi_parse_obj_named);
                flags = ACPI_PARSEOP_DEFERRED;
        }
        else if (op_info->flags & AML_NAMED) {
+               size = sizeof (struct acpi_parse_obj_named);
                flags = ACPI_PARSEOP_NAMED;
        }
        else if (opcode == AML_INT_BYTELIST_OP) {
+               size = sizeof (struct acpi_parse_obj_named);
                flags = ACPI_PARSEOP_BYTELIST;
        }
+       else {
+               size = sizeof (struct acpi_parse_obj_common);
+               flags = ACPI_PARSEOP_GENERIC;
+       }
 
-       /* Allocate the minimum required size object */
-
-       if (flags == ACPI_PARSEOP_GENERIC) {
-               /* The generic op (default) is by far the most common (16 to 1) */
-
+       if (size == sizeof (struct acpi_parse_obj_common)) {
+               /*
+                * The generic op is by far the most common (16 to 1)
+                */
                op = acpi_ut_acquire_from_cache (ACPI_MEM_LIST_PSNODE);
        }
        else {
-               /* Extended parseop */
-
                op = acpi_ut_acquire_from_cache (ACPI_MEM_LIST_PSNODE_EXT);
        }
 
@@ -267,7 +272,6 @@ acpi_ps_is_prefix_char (
 /*
  * Get op's name (4-byte name segment) or 0 if unnamed
  */
-#ifdef ACPI_FUTURE_USAGE
 u32
 acpi_ps_get_name (
        union acpi_parse_object         *op)
@@ -284,7 +288,6 @@ acpi_ps_get_name (
 
        return (op->named.name);
 }
-#endif  /*  ACPI_FUTURE_USAGE  */
 
 
 /*