Skip to content

Commit

Permalink
ACPICA: Add new ACPI 6.4 semantics for LoadTable() operator
Browse files Browse the repository at this point in the history
ACPICA commit b32dde35e26a63a85d78d4dc0a7260b61e626ac1

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

Link: acpica/acpica@b32dde35
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
acpibob authored and rafaeljw committed Apr 13, 2022
1 parent 39ea1bb commit e468e39
Showing 1 changed file with 17 additions and 7 deletions.
24 changes: 17 additions & 7 deletions drivers/acpi/acpica/exconfig.c
Expand Up @@ -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();
Expand All @@ -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);
}

Expand Down Expand Up @@ -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);
}

Expand Down

0 comments on commit e468e39

Please sign in to comment.