ACPICA: Namespace: Add scope information to the simple object repair mechanism

ACPICA commit 51cbd324420ca5e381cb2c57ce95139053518a35

The acpi_object_converter callbacks are lack in scope information to
convert name_string. This patch fixes this issue by passing the evaluation
method/object node to the converter callbacks. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/51cbd324
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Lv Zheng 2015-12-29 13:57:38 +08:00 committed by Rafael J. Wysocki
parent 50da9851d0
commit 4debda539a
4 changed files with 16 additions and 9 deletions

View File

@ -395,7 +395,8 @@ union acpi_predefined_info {
/* Return object auto-repair info */ /* Return object auto-repair info */
typedef acpi_status(*acpi_object_converter) (union acpi_operand_object typedef acpi_status(*acpi_object_converter) (struct acpi_namespace_node * scope,
union acpi_operand_object
*original_object, *original_object,
union acpi_operand_object union acpi_operand_object
**converted_object); **converted_object);

View File

@ -183,11 +183,13 @@ acpi_ns_convert_to_buffer(union acpi_operand_object *original_object,
union acpi_operand_object **return_object); union acpi_operand_object **return_object);
acpi_status acpi_status
acpi_ns_convert_to_unicode(union acpi_operand_object *original_object, acpi_ns_convert_to_unicode(struct acpi_namespace_node *scope,
union acpi_operand_object *original_object,
union acpi_operand_object **return_object); union acpi_operand_object **return_object);
acpi_status acpi_status
acpi_ns_convert_to_resource(union acpi_operand_object *original_object, acpi_ns_convert_to_resource(struct acpi_namespace_node *scope,
union acpi_operand_object *original_object,
union acpi_operand_object **return_object); union acpi_operand_object **return_object);
/* /*

View File

@ -306,7 +306,8 @@ acpi_ns_convert_to_buffer(union acpi_operand_object *original_object,
* *
* FUNCTION: acpi_ns_convert_to_unicode * FUNCTION: acpi_ns_convert_to_unicode
* *
* PARAMETERS: original_object - ASCII String Object to be converted * PARAMETERS: scope - Namespace node for the method/object
* original_object - ASCII String Object to be converted
* return_object - Where the new converted object is returned * return_object - Where the new converted object is returned
* *
* RETURN: Status. AE_OK if conversion was successful. * RETURN: Status. AE_OK if conversion was successful.
@ -316,7 +317,8 @@ acpi_ns_convert_to_buffer(union acpi_operand_object *original_object,
******************************************************************************/ ******************************************************************************/
acpi_status acpi_status
acpi_ns_convert_to_unicode(union acpi_operand_object *original_object, acpi_ns_convert_to_unicode(struct acpi_namespace_node * scope,
union acpi_operand_object *original_object,
union acpi_operand_object **return_object) union acpi_operand_object **return_object)
{ {
union acpi_operand_object *new_object; union acpi_operand_object *new_object;
@ -370,7 +372,8 @@ acpi_ns_convert_to_unicode(union acpi_operand_object *original_object,
* *
* FUNCTION: acpi_ns_convert_to_resource * FUNCTION: acpi_ns_convert_to_resource
* *
* PARAMETERS: original_object - Object to be converted * PARAMETERS: scope - Namespace node for the method/object
* original_object - Object to be converted
* return_object - Where the new converted object is returned * return_object - Where the new converted object is returned
* *
* RETURN: Status. AE_OK if conversion was successful * RETURN: Status. AE_OK if conversion was successful
@ -381,7 +384,8 @@ acpi_ns_convert_to_unicode(union acpi_operand_object *original_object,
******************************************************************************/ ******************************************************************************/
acpi_status acpi_status
acpi_ns_convert_to_resource(union acpi_operand_object *original_object, acpi_ns_convert_to_resource(struct acpi_namespace_node * scope,
union acpi_operand_object *original_object,
union acpi_operand_object **return_object) union acpi_operand_object **return_object)
{ {
union acpi_operand_object *new_object; union acpi_operand_object *new_object;

View File

@ -172,8 +172,8 @@ acpi_ns_simple_repair(struct acpi_evaluate_info *info,
"Missing expected return value")); "Missing expected return value"));
} }
status = status = predefined->object_converter(info->node, return_object,
predefined->object_converter(return_object, &new_object); &new_object);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
/* A fatal error occurred during a conversion */ /* A fatal error occurred during a conversion */