X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Facpi%2Ftables%2Ftbinstal.c;h=7ffd0fddb4e55d1c7d75a192979d0657352915fc;hb=9464c7cf61b9433057924c36e6e02f303a00e768;hp=1668a232fb6754fb3a0d571cf32cb443863cefa0;hpb=41689045f6a3cbe0550e1d34e9cc20d2e8c432ba;p=linux-2.6.git diff --git a/drivers/acpi/tables/tbinstal.c b/drivers/acpi/tables/tbinstal.c index 1668a232f..7ffd0fddb 100644 --- a/drivers/acpi/tables/tbinstal.c +++ b/drivers/acpi/tables/tbinstal.c @@ -73,18 +73,17 @@ acpi_tb_match_signature(char *signature, { 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) { @@ -123,7 +122,7 @@ acpi_status acpi_tb_install_table(struct acpi_table_desc *table_info) { acpi_status status; - ACPI_FUNCTION_TRACE(tb_install_table); + ACPI_FUNCTION_TRACE("tb_install_table"); /* Lock tables while installing */ @@ -188,7 +187,7 @@ acpi_tb_recognize_table(struct acpi_table_desc *table_info, u8 search_type) 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 */ @@ -219,6 +218,7 @@ acpi_tb_recognize_table(struct acpi_table_desc *table_info, u8 search_type) /* Return the table type and length via the info struct */ table_info->length = (acpi_size) table_header->length; + return_ACPI_STATUS(status); } @@ -243,11 +243,11 @@ acpi_tb_init_table_descriptor(acpi_table_type table_type, 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); } @@ -256,7 +256,7 @@ acpi_tb_init_table_descriptor(acpi_table_type table_type, 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 */ @@ -274,8 +274,8 @@ acpi_tb_init_table_descriptor(acpi_table_type table_type, * 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; @@ -312,14 +312,15 @@ acpi_tb_init_table_descriptor(acpi_table_type table_type, /* 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 @@ -334,18 +335,8 @@ acpi_tb_init_table_descriptor(acpi_table_type table_type, 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); } /******************************************************************************* @@ -368,7 +359,7 @@ void acpi_tb_delete_all_tables(void) * 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); } } @@ -392,9 +383,9 @@ void acpi_tb_delete_tables_by_type(acpi_table_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; } @@ -405,28 +396,28 @@ void acpi_tb_delete_tables_by_type(acpi_table_type type) /* 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; } @@ -480,7 +471,7 @@ void acpi_tb_delete_single_table(struct acpi_table_desc *table_desc) case ACPI_MEM_ALLOCATED: - ACPI_FREE(table_desc->pointer); + ACPI_MEM_FREE(table_desc->pointer); break; case ACPI_MEM_MAPPED: @@ -512,7 +503,7 @@ struct acpi_table_desc *acpi_tb_uninstall_table(struct acpi_table_desc { 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); @@ -536,14 +527,10 @@ struct acpi_table_desc *acpi_tb_uninstall_table(struct acpi_table_desc 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 */