]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ACPICA: Add more methods eligible for NULL package element removal
authorBob Moore <robert.moore@intel.com>
Wed, 13 Apr 2011 05:15:58 +0000 (13:15 +0800)
committerLen Brown <len.brown@intel.com>
Tue, 10 May 2011 02:16:11 +0000 (22:16 -0400)
This change adds another group of predefined names to the list
of names eligible to have NULL package elements dynamically
removed. This group is the names that return a single
variable-length package containing simple data types such
as integers, buffers, strings. This includes: _ALx,_BCL,_CID,
_DOD,_EDL,_FIX,_PCL,_PLD,_PMD,_PRx,_PSL,_Sx, and _TZD.

http://www.acpica.org/bugzilla/show_bug.cgi?id=914

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/acpica/nsrepair.c

index 1d76ac85b5e79fdd9c1c41573a92ddf78686aeab..ac7b854b0bd740fb16ee73c6f5df978d79952900 100644 (file)
@@ -74,7 +74,6 @@ ACPI_MODULE_NAME("nsrepair")
  *
  * Additional possible repairs:
  *
- * Optional/unnecessary NULL package elements removed
  * Required package elements that are NULL replaced by Integer/String/Buffer
  * Incorrect standalone package wrapped with required outer package
  *
@@ -623,16 +622,12 @@ acpi_ns_remove_null_elements(struct acpi_predefined_data *data,
        ACPI_FUNCTION_NAME(ns_remove_null_elements);
 
        /*
-        * PTYPE1 packages contain no subpackages.
-        * PTYPE2 packages contain a variable number of sub-packages. We can
-        * safely remove all NULL elements from the PTYPE2 packages.
+        * We can safely remove all NULL elements from these package types:
+        * PTYPE1_VAR packages contain a variable number of simple data types.
+        * PTYPE2 packages contain a variable number of sub-packages.
         */
        switch (package_type) {
-       case ACPI_PTYPE1_FIXED:
        case ACPI_PTYPE1_VAR:
-       case ACPI_PTYPE1_OPTION:
-               return;
-
        case ACPI_PTYPE2:
        case ACPI_PTYPE2_COUNT:
        case ACPI_PTYPE2_PKG_COUNT:
@@ -642,6 +637,8 @@ acpi_ns_remove_null_elements(struct acpi_predefined_data *data,
                break;
 
        default:
+       case ACPI_PTYPE1_FIXED:
+       case ACPI_PTYPE1_OPTION:
                return;
        }