{
acpi_native_uint i;
- ACPI_FUNCTION_TRACE(tb_match_signature);
+ ACPI_FUNCTION_TRACE("tb_match_signature");
/* Search for a signature match among the known table types */
- for (i = 0; i < (ACPI_TABLE_ID_MAX + 1); i++) {
+ for (i = 0; i < NUM_ACPI_TABLE_TYPES; i++) {
if (!(acpi_gbl_table_data[i].flags & search_type)) {
continue;
}
if (!ACPI_STRNCMP(signature, acpi_gbl_table_data[i].signature,
acpi_gbl_table_data[i].sig_length)) {
-
/* Found a signature match, return index if requested */
if (table_info) {
{
acpi_status status;
- ACPI_FUNCTION_TRACE(tb_install_table);
+ ACPI_FUNCTION_TRACE("tb_install_table");
/* Lock tables while installing */
struct acpi_table_header *table_header;
acpi_status status;
- ACPI_FUNCTION_TRACE(tb_recognize_table);
+ ACPI_FUNCTION_TRACE("tb_recognize_table");
/* Ensure that we have a valid table pointer */
/* Return the table type and length via the info struct */
table_info->length = (acpi_size) table_header->length;
+
return_ACPI_STATUS(status);
}
struct acpi_table_desc *table_desc;
acpi_status status;
- ACPI_FUNCTION_TRACE_U32(tb_init_table_descriptor, table_type);
+ ACPI_FUNCTION_TRACE_U32("tb_init_table_descriptor", table_type);
/* Allocate a descriptor for this table */
- table_desc = ACPI_ALLOCATE_ZEROED(sizeof(struct acpi_table_desc));
+ table_desc = ACPI_MEM_CALLOCATE(sizeof(struct acpi_table_desc));
if (!table_desc) {
return_ACPI_STATUS(AE_NO_MEMORY);
}
status = acpi_ut_allocate_owner_id(&table_desc->owner_id);
if (ACPI_FAILURE(status)) {
- goto error_exit1;
+ return_ACPI_STATUS(status);
}
/* Install the table into the global data structure */
* at this location, so return an error.
*/
if (list_head->next) {
- status = AE_ALREADY_EXISTS;
- goto error_exit2;
+ ACPI_MEM_FREE(table_desc);
+ return_ACPI_STATUS(AE_ALREADY_EXISTS);
}
table_desc->next = list_head->next;
/* Finish initialization of the table descriptor */
- table_desc->loaded_into_namespace = FALSE;
table_desc->type = (u8) table_type;
table_desc->pointer = table_info->pointer;
table_desc->length = table_info->length;
table_desc->allocation = table_info->allocation;
table_desc->aml_start = (u8 *) (table_desc->pointer + 1),
- table_desc->aml_length = (u32)
- (table_desc->length - (u32) sizeof(struct acpi_table_header));
+ table_desc->aml_length = (u32) (table_desc->length -
+ (u32) sizeof(struct
+ acpi_table_header));
+ table_desc->loaded_into_namespace = FALSE;
/*
* Set the appropriate global pointer (if there is one) to point to the
table_info->owner_id = table_desc->owner_id;
table_info->installed_desc = table_desc;
- return_ACPI_STATUS(AE_OK);
-
- /* Error exit with cleanup */
- error_exit2:
-
- acpi_ut_release_owner_id(&table_desc->owner_id);
-
- error_exit1:
-
- ACPI_FREE(table_desc);
- return_ACPI_STATUS(status);
+ return_ACPI_STATUS(AE_OK);
}
/*******************************************************************************
* Free memory allocated for ACPI tables
* Memory can either be mapped or allocated
*/
- for (type = 0; type < (ACPI_TABLE_ID_MAX + 1); type++) {
+ for (type = 0; type < NUM_ACPI_TABLE_TYPES; type++) {
acpi_tb_delete_tables_by_type(type);
}
}
u32 count;
u32 i;
- ACPI_FUNCTION_TRACE_U32(tb_delete_tables_by_type, type);
+ ACPI_FUNCTION_TRACE_U32("tb_delete_tables_by_type", type);
- if (type > ACPI_TABLE_ID_MAX) {
+ if (type > ACPI_TABLE_MAX) {
return_VOID;
}
/* Clear the appropriate "typed" global table pointer */
switch (type) {
- case ACPI_TABLE_ID_RSDP:
+ case ACPI_TABLE_RSDP:
acpi_gbl_RSDP = NULL;
break;
- case ACPI_TABLE_ID_DSDT:
+ case ACPI_TABLE_DSDT:
acpi_gbl_DSDT = NULL;
break;
- case ACPI_TABLE_ID_FADT:
+ case ACPI_TABLE_FADT:
acpi_gbl_FADT = NULL;
break;
- case ACPI_TABLE_ID_FACS:
+ case ACPI_TABLE_FACS:
acpi_gbl_FACS = NULL;
break;
- case ACPI_TABLE_ID_XSDT:
+ case ACPI_TABLE_XSDT:
acpi_gbl_XSDT = NULL;
break;
- case ACPI_TABLE_ID_SSDT:
- case ACPI_TABLE_ID_PSDT:
+ case ACPI_TABLE_SSDT:
+ case ACPI_TABLE_PSDT:
default:
break;
}
case ACPI_MEM_ALLOCATED:
- ACPI_FREE(table_desc->pointer);
+ ACPI_MEM_FREE(table_desc->pointer);
break;
case ACPI_MEM_MAPPED:
{
struct acpi_table_desc *next_desc;
- ACPI_FUNCTION_TRACE_PTR(tb_uninstall_table, table_desc);
+ ACPI_FUNCTION_TRACE_PTR("tb_uninstall_table", table_desc);
if (!table_desc) {
return_PTR(NULL);
acpi_tb_delete_single_table(table_desc);
- /* Free the owner ID associated with this table */
-
- acpi_ut_release_owner_id(&table_desc->owner_id);
-
/* Free the table descriptor */
next_desc = table_desc->next;
- ACPI_FREE(table_desc);
+ ACPI_MEM_FREE(table_desc);
/* Return pointer to the next descriptor */