ACPICA: ACPI 5.1: Support for the _DSD predefined name.
authorDavid E. Box <david.e.box@linux.intel.com>
Wed, 30 Jul 2014 04:21:26 +0000 (12:21 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 30 Jul 2014 22:50:23 +0000 (00:50 +0200)
Adds full support for _DSD. David Box.

Signed-off-by: David E. Box <david.e.box@linux.intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/acpredef.h
include/acpi/acnames.h

index bd08817..c5bfadf 100644 (file)
  *      count = 0 (optional)
  *      (Used for _DLM)
  *
+ * ACPI_PTYPE2_UUID_PAIR: Each subpackage is preceded by a UUID Buffer. The UUID
+ *      defines the format of the package. Zero-length parent package is
+ *      allowed.
+ *      (Used for _DSD)
+ *
  *****************************************************************************/
 
 enum acpi_return_package_types {
@@ -117,7 +122,8 @@ enum acpi_return_package_types {
        ACPI_PTYPE2_FIXED = 7,
        ACPI_PTYPE2_MIN = 8,
        ACPI_PTYPE2_REV_FIXED = 9,
-       ACPI_PTYPE2_FIX_VAR = 10
+       ACPI_PTYPE2_FIX_VAR = 10,
+       ACPI_PTYPE2_UUID_PAIR = 11
 };
 
 /* Support macros for users of the predefined info table */
@@ -436,6 +442,11 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
        {{"_DOS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
          METHOD_NO_RETURN_VALUE}},
 
+       {{"_DSD", METHOD_0ARGS,
+         METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each: 1 Buf, 1 Pkg */
+       PACKAGE_INFO(ACPI_PTYPE2_UUID_PAIR, ACPI_RTYPE_BUFFER, 1,
+                    ACPI_RTYPE_PACKAGE, 1, 0),
+
        {{"_DSM",
          METHOD_4ARGS(ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER,
                       ACPI_TYPE_PACKAGE),
index 3dd6e83..c728113 100644 (file)
@@ -55,6 +55,7 @@
 #define METHOD_NAME__HID        "_HID"
 #define METHOD_NAME__INI        "_INI"
 #define METHOD_NAME__PLD        "_PLD"
+#define METHOD_NAME__DSD        "_DSD"
 #define METHOD_NAME__PRS        "_PRS"
 #define METHOD_NAME__PRT        "_PRT"
 #define METHOD_NAME__PRW        "_PRW"