Commit ad5babee authored by Bob Moore's avatar Bob Moore Committed by Len Brown

ACPICA: Add repair for predefined methods that must return sorted lists

This change will repair (by sorting) packages returned by _ALR,
_PSS, and _TSS. Drivers can now assume that the packages are
correctly sorted. Adds one new file, nsrepair2.c.
ACPICA BZ 784.

http://www.acpica.org/bugzilla/show_bug.cgi?id=784Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarLin Ming <ming.m.lin@intel.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 419a909d
...@@ -28,7 +28,7 @@ acpi-$(ACPI_FUTURE_USAGE) += hwtimer.o ...@@ -28,7 +28,7 @@ acpi-$(ACPI_FUTURE_USAGE) += hwtimer.o
acpi-y += nsaccess.o nsload.o nssearch.o nsxfeval.o \ acpi-y += nsaccess.o nsload.o nssearch.o nsxfeval.o \
nsalloc.o nseval.o nsnames.o nsutils.o nsxfname.o \ nsalloc.o nseval.o nsnames.o nsutils.o nsxfname.o \
nsdump.o nsinit.o nsobject.o nswalk.o nsxfobj.o \ nsdump.o nsinit.o nsobject.o nswalk.o nsxfobj.o \
nsparse.o nspredef.o nsrepair.o nsparse.o nspredef.o nsrepair.o nsrepair2.o
acpi-$(ACPI_FUTURE_USAGE) += nsdumpdv.o acpi-$(ACPI_FUTURE_USAGE) += nsdumpdv.o
......
...@@ -273,7 +273,8 @@ acpi_ns_get_attached_data(struct acpi_namespace_node *node, ...@@ -273,7 +273,8 @@ acpi_ns_get_attached_data(struct acpi_namespace_node *node,
acpi_object_handler handler, void **data); acpi_object_handler handler, void **data);
/* /*
* nsrepair - return object repair for predefined methods/objects * nsrepair - General return object repair for all
* predefined methods/objects
*/ */
acpi_status acpi_status
acpi_ns_repair_object(struct acpi_predefined_data *data, acpi_ns_repair_object(struct acpi_predefined_data *data,
...@@ -285,6 +286,16 @@ acpi_status ...@@ -285,6 +286,16 @@ acpi_status
acpi_ns_repair_package_list(struct acpi_predefined_data *data, acpi_ns_repair_package_list(struct acpi_predefined_data *data,
union acpi_operand_object **obj_desc_ptr); union acpi_operand_object **obj_desc_ptr);
/*
* nsrepair2 - Return object repair for specific
* predefined methods/objects
*/
acpi_status
acpi_ns_complex_repairs(struct acpi_predefined_data *data,
struct acpi_namespace_node *node,
acpi_status validate_status,
union acpi_operand_object **return_object_ptr);
/* /*
* nssearch - Namespace searching and entry * nssearch - Namespace searching and entry
*/ */
......
...@@ -232,6 +232,12 @@ acpi_ns_check_predefined_names(struct acpi_namespace_node *node, ...@@ -232,6 +232,12 @@ acpi_ns_check_predefined_names(struct acpi_namespace_node *node,
status = acpi_ns_check_package(data, return_object_ptr); status = acpi_ns_check_package(data, return_object_ptr);
} }
/*
* Perform additional, more complicated repairs on a per-name
* basis.
*/
status = acpi_ns_complex_repairs(data, node, status, return_object_ptr);
check_validation_status: check_validation_status:
/* /*
* If the object validation failed or if we successfully repaired one * If the object validation failed or if we successfully repaired one
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment