Commit e468e39f authored by Bob Moore's avatar Bob Moore Committed by Rafael J. Wysocki
Browse files

ACPICA: Add new ACPI 6.4 semantics for LoadTable() operator

ACPICA commit b32dde35e26a63a85d78d4dc0a7260b61e626ac1

DDB_HANDLE is gone, now LoadTable() returns a pass/fail integer.

Link: https://github.com/acpica/acpica/commit/b32dde35


Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 39ea1bbf
Loading
Loading
Loading
Loading
+17 −7
Original line number Diff line number Diff line
@@ -87,11 +87,21 @@ acpi_ex_load_table_op(struct acpi_walk_state *walk_state,
	struct acpi_namespace_node *parent_node;
	struct acpi_namespace_node *start_node;
	struct acpi_namespace_node *parameter_node = NULL;
	union acpi_operand_object *return_obj;
	union acpi_operand_object *ddb_handle;
	u32 table_index;

	ACPI_FUNCTION_TRACE(ex_load_table_op);

	/* Create the return object */

	return_obj = acpi_ut_create_integer_object((u64)0);
	if (!return_obj) {
		return_ACPI_STATUS(AE_NO_MEMORY);
	}

	*return_desc = return_obj;

	/* Find the ACPI table in the RSDT/XSDT */

	acpi_ex_exit_interpreter();
@@ -106,12 +116,6 @@ acpi_ex_load_table_op(struct acpi_walk_state *walk_state,

		/* Table not found, return an Integer=0 and AE_OK */

		ddb_handle = acpi_ut_create_integer_object((u64) 0);
		if (!ddb_handle) {
			return_ACPI_STATUS(AE_NO_MEMORY);
		}

		*return_desc = ddb_handle;
		return_ACPI_STATUS(AE_OK);
	}

@@ -198,7 +202,13 @@ acpi_ex_load_table_op(struct acpi_walk_state *walk_state,
		}
	}

	*return_desc = ddb_handle;
	/* Remove the reference to ddb_handle created by acpi_ex_add_table above */

	acpi_ut_remove_reference(ddb_handle);

	/* Return -1 (non-zero) indicates success */

	return_obj->integer.value = 0xFFFFFFFFFFFFFFFF;
	return_ACPI_STATUS(status);
}