Commit 4debda53 authored by Lv Zheng's avatar Lv Zheng Committed by Rafael J. Wysocki
Browse files

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: default avatarLv Zheng <lv.zheng@intel.com>
Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 50da9851
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -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);
+4 −2
Original line number Original line Diff line number Diff line
@@ -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);


/*
/*
+8 −4
Original line number Original line Diff line number Diff line
@@ -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;
+2 −2
Original line number Original line Diff line number Diff line
@@ -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 */