diff options
Diffstat (limited to 'drivers/acpi/tables')
-rw-r--r-- | drivers/acpi/tables/tbconvrt.c | 402 | ||||
-rw-r--r-- | drivers/acpi/tables/tbget.c | 275 | ||||
-rw-r--r-- | drivers/acpi/tables/tbgetall.c | 189 | ||||
-rw-r--r-- | drivers/acpi/tables/tbinstal.c | 256 | ||||
-rw-r--r-- | drivers/acpi/tables/tbrsdt.c | 190 | ||||
-rw-r--r-- | drivers/acpi/tables/tbutils.c | 147 | ||||
-rw-r--r-- | drivers/acpi/tables/tbxface.c | 246 | ||||
-rw-r--r-- | drivers/acpi/tables/tbxfroot.c | 431 |
8 files changed, 968 insertions, 1168 deletions
diff --git a/drivers/acpi/tables/tbconvrt.c b/drivers/acpi/tables/tbconvrt.c index d4ff71f5fe5d..a03939399fa9 100644 --- a/drivers/acpi/tables/tbconvrt.c +++ b/drivers/acpi/tables/tbconvrt.c @@ -46,28 +46,22 @@ #include <acpi/acpi.h> #include <acpi/actables.h> - #define _COMPONENT ACPI_TABLES - ACPI_MODULE_NAME ("tbconvrt") +ACPI_MODULE_NAME("tbconvrt") /* Local prototypes */ - static void -acpi_tb_init_generic_address ( - struct acpi_generic_address *new_gas_struct, - u8 register_bit_width, - acpi_physical_address address); +acpi_tb_init_generic_address(struct acpi_generic_address *new_gas_struct, + u8 register_bit_width, + acpi_physical_address address); static void -acpi_tb_convert_fadt1 ( - struct fadt_descriptor_rev2 *local_fadt, - struct fadt_descriptor_rev1 *original_fadt); +acpi_tb_convert_fadt1(struct fadt_descriptor_rev2 *local_fadt, + struct fadt_descriptor_rev1 *original_fadt); static void -acpi_tb_convert_fadt2 ( - struct fadt_descriptor_rev2 *local_fadt, - struct fadt_descriptor_rev2 *original_fadt); - +acpi_tb_convert_fadt2(struct fadt_descriptor_rev2 *local_fadt, + struct fadt_descriptor_rev2 *original_fadt); u8 acpi_fadt_is_v1; EXPORT_SYMBOL(acpi_fadt_is_v1); @@ -87,23 +81,19 @@ EXPORT_SYMBOL(acpi_fadt_is_v1); ******************************************************************************/ u32 -acpi_tb_get_table_count ( - struct rsdp_descriptor *RSDP, - struct acpi_table_header *RSDT) +acpi_tb_get_table_count(struct rsdp_descriptor *RSDP, + struct acpi_table_header *RSDT) { - u32 pointer_size; - - - ACPI_FUNCTION_ENTRY (); + u32 pointer_size; + ACPI_FUNCTION_ENTRY(); /* RSDT pointers are 32 bits, XSDT pointers are 64 bits */ if (acpi_gbl_root_table_type == ACPI_TABLE_TYPE_RSDT) { - pointer_size = sizeof (u32); - } - else { - pointer_size = sizeof (u64); + pointer_size = sizeof(u32); + } else { + pointer_size = sizeof(u64); } /* @@ -112,10 +102,10 @@ acpi_tb_get_table_count ( * pointers contained within the RSDT/XSDT. The size of the pointers * is architecture-dependent. */ - return ((RSDT->length - sizeof (struct acpi_table_header)) / pointer_size); + return ((RSDT->length - + sizeof(struct acpi_table_header)) / pointer_size); } - /******************************************************************************* * * FUNCTION: acpi_tb_convert_to_xsdt @@ -128,33 +118,30 @@ acpi_tb_get_table_count ( * ******************************************************************************/ -acpi_status -acpi_tb_convert_to_xsdt ( - struct acpi_table_desc *table_info) +acpi_status acpi_tb_convert_to_xsdt(struct acpi_table_desc *table_info) { - acpi_size table_size; - u32 i; - XSDT_DESCRIPTOR *new_table; - - - ACPI_FUNCTION_ENTRY (); + acpi_size table_size; + u32 i; + XSDT_DESCRIPTOR *new_table; + ACPI_FUNCTION_ENTRY(); /* Compute size of the converted XSDT */ - table_size = ((acpi_size) acpi_gbl_rsdt_table_count * sizeof (u64)) + - sizeof (struct acpi_table_header); + table_size = ((acpi_size) acpi_gbl_rsdt_table_count * sizeof(u64)) + + sizeof(struct acpi_table_header); /* Allocate an XSDT */ - new_table = ACPI_MEM_CALLOCATE (table_size); + new_table = ACPI_MEM_CALLOCATE(table_size); if (!new_table) { return (AE_NO_MEMORY); } /* Copy the header and set the length */ - ACPI_MEMCPY (new_table, table_info->pointer, sizeof (struct acpi_table_header)); + ACPI_MEMCPY(new_table, table_info->pointer, + sizeof(struct acpi_table_header)); new_table->length = (u32) table_size; /* Copy the table pointers */ @@ -163,31 +150,33 @@ acpi_tb_convert_to_xsdt ( /* RSDT pointers are 32 bits, XSDT pointers are 64 bits */ if (acpi_gbl_root_table_type == ACPI_TABLE_TYPE_RSDT) { - ACPI_STORE_ADDRESS (new_table->table_offset_entry[i], - (ACPI_CAST_PTR (struct rsdt_descriptor_rev1, - table_info->pointer))->table_offset_entry[i]); - } - else { + ACPI_STORE_ADDRESS(new_table->table_offset_entry[i], + (ACPI_CAST_PTR + (struct rsdt_descriptor_rev1, + table_info->pointer))-> + table_offset_entry[i]); + } else { new_table->table_offset_entry[i] = - (ACPI_CAST_PTR (XSDT_DESCRIPTOR, - table_info->pointer))->table_offset_entry[i]; + (ACPI_CAST_PTR(XSDT_DESCRIPTOR, + table_info->pointer))-> + table_offset_entry[i]; } } /* Delete the original table (either mapped or in a buffer) */ - acpi_tb_delete_single_table (table_info); + acpi_tb_delete_single_table(table_info); /* Point the table descriptor to the new table */ - table_info->pointer = ACPI_CAST_PTR (struct acpi_table_header, new_table); - table_info->length = table_size; - table_info->allocation = ACPI_MEM_ALLOCATED; + table_info->pointer = + ACPI_CAST_PTR(struct acpi_table_header, new_table); + table_info->length = table_size; + table_info->allocation = ACPI_MEM_ALLOCATED; return (AE_OK); } - /******************************************************************************* * * FUNCTION: acpi_tb_init_generic_address @@ -203,21 +192,19 @@ acpi_tb_convert_to_xsdt ( ******************************************************************************/ static void -acpi_tb_init_generic_address ( - struct acpi_generic_address *new_gas_struct, - u8 register_bit_width, - acpi_physical_address address) +acpi_tb_init_generic_address(struct acpi_generic_address *new_gas_struct, + u8 register_bit_width, + acpi_physical_address address) { - ACPI_STORE_ADDRESS (new_gas_struct->address, address); + ACPI_STORE_ADDRESS(new_gas_struct->address, address); new_gas_struct->address_space_id = ACPI_ADR_SPACE_SYSTEM_IO; new_gas_struct->register_bit_width = register_bit_width; new_gas_struct->register_bit_offset = 0; - new_gas_struct->access_width = 0; + new_gas_struct->access_width = 0; } - /******************************************************************************* * * FUNCTION: acpi_tb_convert_fadt1 @@ -232,9 +219,8 @@ acpi_tb_init_generic_address ( ******************************************************************************/ static void -acpi_tb_convert_fadt1 ( - struct fadt_descriptor_rev2 *local_fadt, - struct fadt_descriptor_rev1 *original_fadt) +acpi_tb_convert_fadt1(struct fadt_descriptor_rev2 *local_fadt, + struct fadt_descriptor_rev1 *original_fadt) { /* ACPI 1.0 FACS */ @@ -247,12 +233,14 @@ acpi_tb_convert_fadt1 ( * The 2.0 table is an extension of the 1.0 table, so the entire 1.0 * table can be copied first, then expand some fields to 64 bits. */ - ACPI_MEMCPY (local_fadt, original_fadt, sizeof (struct fadt_descriptor_rev1)); + ACPI_MEMCPY(local_fadt, original_fadt, + sizeof(struct fadt_descriptor_rev1)); /* Convert table pointers to 64-bit fields */ - ACPI_STORE_ADDRESS (local_fadt->xfirmware_ctrl, local_fadt->V1_firmware_ctrl); - ACPI_STORE_ADDRESS (local_fadt->Xdsdt, local_fadt->V1_dsdt); + ACPI_STORE_ADDRESS(local_fadt->xfirmware_ctrl, + local_fadt->V1_firmware_ctrl); + ACPI_STORE_ADDRESS(local_fadt->Xdsdt, local_fadt->V1_dsdt); /* * System Interrupt Model isn't used in ACPI 2.0 @@ -287,17 +275,17 @@ acpi_tb_convert_fadt1 ( * It primarily adds the FADT reset mechanism. */ if ((original_fadt->revision == 2) && - (original_fadt->length == sizeof (struct fadt_descriptor_rev2_minus))) { + (original_fadt->length == + sizeof(struct fadt_descriptor_rev2_minus))) { /* * Grab the entire generic address struct, plus the 1-byte reset value * that immediately follows. */ - ACPI_MEMCPY (&local_fadt->reset_register, - &(ACPI_CAST_PTR (struct fadt_descriptor_rev2_minus, - original_fadt))->reset_register, - sizeof (struct acpi_generic_address) + 1); - } - else { + ACPI_MEMCPY(&local_fadt->reset_register, + &(ACPI_CAST_PTR(struct fadt_descriptor_rev2_minus, + original_fadt))->reset_register, + sizeof(struct acpi_generic_address) + 1); + } else { /* * Since there isn't any equivalence in 1.0 and since it is highly * likely that a 1.0 system has legacy support. @@ -308,43 +296,60 @@ acpi_tb_convert_fadt1 ( /* * Convert the V1.0 block addresses to V2.0 GAS structures */ - acpi_tb_init_generic_address (&local_fadt->xpm1a_evt_blk, local_fadt->pm1_evt_len, - (acpi_physical_address) local_fadt->V1_pm1a_evt_blk); - acpi_tb_init_generic_address (&local_fadt->xpm1b_evt_blk, local_fadt->pm1_evt_len, - (acpi_physical_address) local_fadt->V1_pm1b_evt_blk); - acpi_tb_init_generic_address (&local_fadt->xpm1a_cnt_blk, local_fadt->pm1_cnt_len, - (acpi_physical_address) local_fadt->V1_pm1a_cnt_blk); - acpi_tb_init_generic_address (&local_fadt->xpm1b_cnt_blk, local_fadt->pm1_cnt_len, - (acpi_physical_address) local_fadt->V1_pm1b_cnt_blk); - acpi_tb_init_generic_address (&local_fadt->xpm2_cnt_blk, local_fadt->pm2_cnt_len, - (acpi_physical_address) local_fadt->V1_pm2_cnt_blk); - acpi_tb_init_generic_address (&local_fadt->xpm_tmr_blk, local_fadt->pm_tm_len, - (acpi_physical_address) local_fadt->V1_pm_tmr_blk); - acpi_tb_init_generic_address (&local_fadt->xgpe0_blk, 0, - (acpi_physical_address) local_fadt->V1_gpe0_blk); - acpi_tb_init_generic_address (&local_fadt->xgpe1_blk, 0, - (acpi_physical_address) local_fadt->V1_gpe1_blk); + acpi_tb_init_generic_address(&local_fadt->xpm1a_evt_blk, + local_fadt->pm1_evt_len, + (acpi_physical_address) local_fadt-> + V1_pm1a_evt_blk); + acpi_tb_init_generic_address(&local_fadt->xpm1b_evt_blk, + local_fadt->pm1_evt_len, + (acpi_physical_address) local_fadt-> + V1_pm1b_evt_blk); + acpi_tb_init_generic_address(&local_fadt->xpm1a_cnt_blk, + local_fadt->pm1_cnt_len, + (acpi_physical_address) local_fadt-> + V1_pm1a_cnt_blk); + acpi_tb_init_generic_address(&local_fadt->xpm1b_cnt_blk, + local_fadt->pm1_cnt_len, + (acpi_physical_address) local_fadt-> + V1_pm1b_cnt_blk); + acpi_tb_init_generic_address(&local_fadt->xpm2_cnt_blk, + local_fadt->pm2_cnt_len, + (acpi_physical_address) local_fadt-> + V1_pm2_cnt_blk); + acpi_tb_init_generic_address(&local_fadt->xpm_tmr_blk, + local_fadt->pm_tm_len, + (acpi_physical_address) local_fadt-> + V1_pm_tmr_blk); + acpi_tb_init_generic_address(&local_fadt->xgpe0_blk, 0, + (acpi_physical_address) local_fadt-> + V1_gpe0_blk); + acpi_tb_init_generic_address(&local_fadt->xgpe1_blk, 0, + (acpi_physical_address) local_fadt-> + V1_gpe1_blk); /* Create separate GAS structs for the PM1 Enable registers */ - acpi_tb_init_generic_address (&acpi_gbl_xpm1a_enable, - (u8) ACPI_DIV_2 (acpi_gbl_FADT->pm1_evt_len), - (acpi_physical_address) - (local_fadt->xpm1a_evt_blk.address + - ACPI_DIV_2 (acpi_gbl_FADT->pm1_evt_len))); + acpi_tb_init_generic_address(&acpi_gbl_xpm1a_enable, + (u8) ACPI_DIV_2(acpi_gbl_FADT-> + pm1_evt_len), + (acpi_physical_address) + (local_fadt->xpm1a_evt_blk.address + + ACPI_DIV_2(acpi_gbl_FADT->pm1_evt_len))); /* PM1B is optional; leave null if not present */ if (local_fadt->xpm1b_evt_blk.address) { - acpi_tb_init_generic_address (&acpi_gbl_xpm1b_enable, - (u8) ACPI_DIV_2 (acpi_gbl_FADT->pm1_evt_len), - (acpi_physical_address) - (local_fadt->xpm1b_evt_blk.address + - ACPI_DIV_2 (acpi_gbl_FADT->pm1_evt_len))); + acpi_tb_init_generic_address(&acpi_gbl_xpm1b_enable, + (u8) ACPI_DIV_2(acpi_gbl_FADT-> + pm1_evt_len), + (acpi_physical_address) + (local_fadt->xpm1b_evt_blk. + address + + ACPI_DIV_2(acpi_gbl_FADT-> + pm1_evt_len))); } } - /******************************************************************************* * * FUNCTION: acpi_tb_convert_fadt2 @@ -360,14 +365,14 @@ acpi_tb_convert_fadt1 ( ******************************************************************************/ static void -acpi_tb_convert_fadt2 ( - struct fadt_descriptor_rev2 *local_fadt, - struct fadt_descriptor_rev2 *original_fadt) +acpi_tb_convert_fadt2(struct fadt_descriptor_rev2 *local_fadt, + struct fadt_descriptor_rev2 *original_fadt) { /* We have an ACPI 2.0 FADT but we must copy it to our local buffer */ - ACPI_MEMCPY (local_fadt, original_fadt, sizeof (struct fadt_descriptor_rev2)); + ACPI_MEMCPY(local_fadt, original_fadt, + sizeof(struct fadt_descriptor_rev2)); /* * "X" fields are optional extensions to the original V1.0 fields, so @@ -375,86 +380,99 @@ acpi_tb_convert_fadt2 ( * is zero. */ if (!(local_fadt->xfirmware_ctrl)) { - ACPI_STORE_ADDRESS (local_fadt->xfirmware_ctrl, - local_fadt->V1_firmware_ctrl); + ACPI_STORE_ADDRESS(local_fadt->xfirmware_ctrl, + local_fadt->V1_firmware_ctrl); } if (!(local_fadt->Xdsdt)) { - ACPI_STORE_ADDRESS (local_fadt->Xdsdt, local_fadt->V1_dsdt); + ACPI_STORE_ADDRESS(local_fadt->Xdsdt, local_fadt->V1_dsdt); } if (!(local_fadt->xpm1a_evt_blk.address)) { - acpi_tb_init_generic_address (&local_fadt->xpm1a_evt_blk, - local_fadt->pm1_evt_len, - (acpi_physical_address) local_fadt->V1_pm1a_evt_blk); + acpi_tb_init_generic_address(&local_fadt->xpm1a_evt_blk, + local_fadt->pm1_evt_len, + (acpi_physical_address) + local_fadt->V1_pm1a_evt_blk); } if (!(local_fadt->xpm1b_evt_blk.address)) { - acpi_tb_init_generic_address (&local_fadt->xpm1b_evt_blk, - local_fadt->pm1_evt_len, - (acpi_physical_address) local_fadt->V1_pm1b_evt_blk); + acpi_tb_init_generic_address(&local_fadt->xpm1b_evt_blk, + local_fadt->pm1_evt_len, + (acpi_physical_address) + local_fadt->V1_pm1b_evt_blk); } if (!(local_fadt->xpm1a_cnt_blk.address)) { - acpi_tb_init_generic_address (&local_fadt->xpm1a_cnt_blk, - local_fadt->pm1_cnt_len, - (acpi_physical_address) local_fadt->V1_pm1a_cnt_blk); + acpi_tb_init_generic_address(&local_fadt->xpm1a_cnt_blk, + local_fadt->pm1_cnt_len, + (acpi_physical_address) + local_fadt->V1_pm1a_cnt_blk); } if (!(local_fadt->xpm1b_cnt_blk.address)) { - acpi_tb_init_generic_address (&local_fadt->xpm1b_cnt_blk, - local_fadt->pm1_cnt_len, - (acpi_physical_address) local_fadt->V1_pm1b_cnt_blk); + acpi_tb_init_generic_address(&local_fadt->xpm1b_cnt_blk, + local_fadt->pm1_cnt_len, + (acpi_physical_address) + local_fadt->V1_pm1b_cnt_blk); } if (!(local_fadt->xpm2_cnt_blk.address)) { - acpi_tb_init_generic_address (&local_fadt->xpm2_cnt_blk, - local_fadt->pm2_cnt_len, - (acpi_physical_address) local_fadt->V1_pm2_cnt_blk); + acpi_tb_init_generic_address(&local_fadt->xpm2_cnt_blk, + local_fadt->pm2_cnt_len, + (acpi_physical_address) + local_fadt->V1_pm2_cnt_blk); } if (!(local_fadt->xpm_tmr_blk.address)) { - acpi_tb_init_generic_address (&local_fadt->xpm_tmr_blk, - local_fadt->pm_tm_len, - (acpi_physical_address) local_fadt->V1_pm_tmr_blk); + acpi_tb_init_generic_address(&local_fadt->xpm_tmr_blk, + local_fadt->pm_tm_len, + (acpi_physical_address) + local_fadt->V1_pm_tmr_blk); } if (!(local_fadt->xgpe0_blk.address)) { - acpi_tb_init_generic_address (&local_fadt->xgpe0_blk, - 0, (acpi_physical_address) local_fadt->V1_gpe0_blk); + acpi_tb_init_generic_address(&local_fadt->xgpe0_blk, + 0, + (acpi_physical_address) + local_fadt->V1_gpe0_blk); } if (!(local_fadt->xgpe1_blk.address)) { - acpi_tb_init_generic_address (&local_fadt->xgpe1_blk, - 0, (acpi_physical_address) local_fadt->V1_gpe1_blk); + acpi_tb_init_generic_address(&local_fadt->xgpe1_blk, + 0, + (acpi_physical_address) + local_fadt->V1_gpe1_blk); } /* Create separate GAS structs for the PM1 Enable registers */ - acpi_tb_init_generic_address (&acpi_gbl_xpm1a_enable, - (u8) ACPI_DIV_2 (acpi_gbl_FADT->pm1_evt_len), - (acpi_physical_address) - (local_fadt->xpm1a_evt_blk.address + - ACPI_DIV_2 (acpi_gbl_FADT->pm1_evt_len))); + acpi_tb_init_generic_address(&acpi_gbl_xpm1a_enable, + (u8) ACPI_DIV_2(acpi_gbl_FADT-> + pm1_evt_len), + (acpi_physical_address) + (local_fadt->xpm1a_evt_blk.address + + ACPI_DIV_2(acpi_gbl_FADT->pm1_evt_len))); acpi_gbl_xpm1a_enable.address_space_id = - local_fadt->xpm1a_evt_blk.address_space_id; + local_fadt->xpm1a_evt_blk.address_space_id; /* PM1B is optional; leave null if not present */ if (local_fadt->xpm1b_evt_blk.address) { - acpi_tb_init_generic_address (&acpi_gbl_xpm1b_enable, - (u8) ACPI_DIV_2 (acpi_gbl_FADT->pm1_evt_len), - (acpi_physical_address) - (local_fadt->xpm1b_evt_blk.address + - ACPI_DIV_2 (acpi_gbl_FADT->pm1_evt_len))); + acpi_tb_init_generic_address(&acpi_gbl_xpm1b_enable, + (u8) ACPI_DIV_2(acpi_gbl_FADT-> + pm1_evt_len), + (acpi_physical_address) + (local_fadt->xpm1b_evt_blk. + address + + ACPI_DIV_2(acpi_gbl_FADT-> + pm1_evt_len))); acpi_gbl_xpm1b_enable.address_space_id = - local_fadt->xpm1b_evt_blk.address_space_id; + local_fadt->xpm1b_evt_blk.address_space_id; } } - /******************************************************************************* * * FUNCTION: acpi_tb_convert_table_fadt @@ -471,83 +489,76 @@ acpi_tb_convert_fadt2 ( * ******************************************************************************/ -acpi_status -acpi_tb_convert_table_fadt ( - void) +acpi_status acpi_tb_convert_table_fadt(void) { - struct fadt_descriptor_rev2 *local_fadt; - struct acpi_table_desc *table_desc; - - - ACPI_FUNCTION_TRACE ("tb_convert_table_fadt"); + struct fadt_descriptor_rev2 *local_fadt; + struct acpi_table_desc *table_desc; + ACPI_FUNCTION_TRACE("tb_convert_table_fadt"); /* * acpi_gbl_FADT is valid. Validate the FADT length. The table must be * at least as long as the version 1.0 FADT */ - if (acpi_gbl_FADT->length < sizeof (struct fadt_descriptor_rev1)) { - ACPI_REPORT_ERROR (("FADT is invalid, too short: 0x%X\n", - acpi_gbl_FADT->length)); - return_ACPI_STATUS (AE_INVALID_TABLE_LENGTH); + if (acpi_gbl_FADT->length < sizeof(struct fadt_descriptor_rev1)) { + ACPI_REPORT_ERROR(("FADT is invalid, too short: 0x%X\n", + acpi_gbl_FADT->length)); + return_ACPI_STATUS(AE_INVALID_TABLE_LENGTH); } /* Allocate buffer for the ACPI 2.0(+) FADT */ - local_fadt = ACPI_MEM_CALLOCATE (sizeof (struct fadt_descriptor_rev2)); + local_fadt = ACPI_MEM_CALLOCATE(sizeof(struct fadt_descriptor_rev2)); if (!local_fadt) { - return_ACPI_STATUS (AE_NO_MEMORY); + return_ACPI_STATUS(AE_NO_MEMORY); } if (acpi_gbl_FADT->revision >= FADT2_REVISION_ID) { - if (acpi_gbl_FADT->length < sizeof (struct fadt_descriptor_rev2)) { + if (acpi_gbl_FADT->length < sizeof(struct fadt_descriptor_rev2)) { /* Length is too short to be a V2.0 table */ - ACPI_REPORT_WARNING (( - "Inconsistent FADT length (0x%X) and revision (0x%X), using FADT V1.0 portion of table\n", - acpi_gbl_FADT->length, acpi_gbl_FADT->revision)); + ACPI_REPORT_WARNING(("Inconsistent FADT length (0x%X) and revision (0x%X), using FADT V1.0 portion of table\n", acpi_gbl_FADT->length, acpi_gbl_FADT->revision)); - acpi_tb_convert_fadt1 (local_fadt, (void *) acpi_gbl_FADT); - } - else { + acpi_tb_convert_fadt1(local_fadt, + (void *)acpi_gbl_FADT); + } else { /* Valid V2.0 table */ - acpi_tb_convert_fadt2 (local_fadt, acpi_gbl_FADT); + acpi_tb_convert_fadt2(local_fadt, acpi_gbl_FADT); } - } - else { + } else { /* Valid V1.0 table */ - acpi_tb_convert_fadt1 (local_fadt, (void *) acpi_gbl_FADT); + acpi_tb_convert_fadt1(local_fadt, (void *)acpi_gbl_FADT); } /* Global FADT pointer will point to the new common V2.0 FADT */ acpi_gbl_FADT = local_fadt; - acpi_gbl_FADT->length = sizeof (FADT_DESCRIPTOR); + acpi_gbl_FADT->length = sizeof(FADT_DESCRIPTOR); /* Free the original table */ table_desc = acpi_gbl_table_lists[ACPI_TABLE_FADT].next; - acpi_tb_delete_single_table (table_desc); + acpi_tb_delete_single_table(table_desc); /* Install the new table */ - table_desc->pointer = ACPI_CAST_PTR (struct acpi_table_header, acpi_gbl_FADT); - table_desc->allocation = ACPI_MEM_ALLOCATED; - table_desc->length = sizeof (struct fadt_descriptor_rev2); + table_desc->pointer = + ACPI_CAST_PTR(struct acpi_table_header, acpi_gbl_FADT); + table_desc->allocation = ACPI_MEM_ALLOCATED; + table_desc->length = sizeof(struct fadt_descriptor_rev2); /* Dump the entire FADT */ - ACPI_DEBUG_PRINT ((ACPI_DB_TABLES, - "Hex dump of common internal FADT, size %d (%X)\n", - acpi_gbl_FADT->length, acpi_gbl_FADT->length)); - ACPI_DUMP_BUFFER ((u8 *) (acpi_gbl_FADT), acpi_gbl_FADT->length); + ACPI_DEBUG_PRINT((ACPI_DB_TABLES, + "Hex dump of common internal FADT, size %d (%X)\n", + acpi_gbl_FADT->length, acpi_gbl_FADT->length)); + ACPI_DUMP_BUFFER((u8 *) (acpi_gbl_FADT), acpi_gbl_FADT->length); - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS(AE_OK); } - /******************************************************************************* * * FUNCTION: acpi_tb_build_common_facs @@ -561,26 +572,21 @@ acpi_tb_convert_table_fadt ( * ******************************************************************************/ -acpi_status -acpi_tb_build_common_facs ( - struct acpi_table_desc *table_info) +acpi_status acpi_tb_build_common_facs(struct acpi_table_desc *table_info) { - ACPI_FUNCTION_TRACE ("tb_build_common_facs"); - + ACPI_FUNCTION_TRACE("tb_build_common_facs"); /* Absolute minimum length is 24, but the ACPI spec says 64 */ if (acpi_gbl_FACS->length < 24) { - ACPI_REPORT_ERROR (("Invalid FACS table length: 0x%X\n", - acpi_gbl_FACS->length)); - return_ACPI_STATUS (AE_INVALID_TABLE_LENGTH); + ACPI_REPORT_ERROR(("Invalid FACS table length: 0x%X\n", + acpi_gbl_FACS->length)); + return_ACPI_STATUS(AE_INVALID_TABLE_LENGTH); } if (acpi_gbl_FACS->length < 64) { - ACPI_REPORT_WARNING (( - "FACS is shorter than the ACPI specification allows: 0x%X, using anyway\n", - acpi_gbl_FACS->length)); + ACPI_REPORT_WARNING(("FACS is shorter than the ACPI specification allows: 0x%X, using anyway\n", acpi_gbl_FACS->length)); } /* Copy fields to the new FACS */ @@ -588,22 +594,22 @@ acpi_tb_build_common_facs ( acpi_gbl_common_fACS.global_lock = &(acpi_gbl_FACS->global_lock); if ((acpi_gbl_RSDP->revision < 2) || - (acpi_gbl_FACS->length < 32) || - (!(acpi_gbl_FACS->xfirmware_waking_vector))) { + (acpi_gbl_FACS->length < 32) || + (!(acpi_gbl_FACS->xfirmware_waking_vector))) { /* ACPI 1.0 FACS or short table or optional X_ field is zero */ - acpi_gbl_common_fACS.firmware_waking_vector = ACPI_CAST_PTR (u64, - &(acpi_gbl_FACS->firmware_waking_vector)); + acpi_gbl_common_fACS.firmware_waking_vector = ACPI_CAST_PTR(u64, + & + (acpi_gbl_FACS-> + firmware_waking_vector)); acpi_gbl_common_fACS.vector_width = 32; - } - else { + } else { /* ACPI 2.0 FACS with valid X_ field */ - acpi_gbl_common_fACS.firmware_waking_vector = &acpi_gbl_FACS->xfirmware_waking_vector; + acpi_gbl_common_fACS.firmware_waking_vector = + &acpi_gbl_FACS->xfirmware_waking_vector; acpi_gbl_common_fACS.vector_width = 64; } - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS(AE_OK); } - - diff --git a/drivers/acpi/tables/tbget.c b/drivers/acpi/tables/tbget.c index 4ab2aadc6133..6acd5aeb093e 100644 --- a/drivers/acpi/tables/tbget.c +++ b/drivers/acpi/tables/tbget.c @@ -41,27 +41,21 @@ * POSSIBILITY OF SUCH DAMAGES. */ - #include <acpi/acpi.h> #include <acpi/actables.h> - #define _COMPONENT ACPI_TABLES - ACPI_MODULE_NAME ("tbget") +ACPI_MODULE_NAME("tbget") /* Local prototypes */ - static acpi_status -acpi_tb_get_this_table ( - struct acpi_pointer *address, - struct acpi_table_header *header, - struct acpi_table_desc *table_info); +acpi_tb_get_this_table(struct acpi_pointer *address, + struct acpi_table_header *header, + struct acpi_table_desc *table_info); static acpi_status -acpi_tb_table_override ( - struct acpi_table_header *header, - struct acpi_table_desc *table_info); - +acpi_tb_table_override(struct acpi_table_header *header, + struct acpi_table_desc *table_info); /******************************************************************************* * @@ -78,37 +72,34 @@ acpi_tb_table_override ( ******************************************************************************/ acpi_status -acpi_tb_get_table ( - struct acpi_pointer *address, - struct acpi_table_desc *table_info) +acpi_tb_get_table(struct acpi_pointer *address, + struct acpi_table_desc *table_info) { - acpi_status status; - struct acpi_table_header header; - - - ACPI_FUNCTION_TRACE ("tb_get_table"); + acpi_status status; + struct acpi_table_header header; + ACPI_FUNCTION_TRACE("tb_get_table"); /* Get the header in order to get signature and table size */ - status = acpi_tb_get_table_header (address, &header); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_get_table_header(address, &header); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Get the entire table */ - status = acpi_tb_get_table_body (address, &header, table_info); - if (ACPI_FAILURE (status)) { - ACPI_REPORT_ERROR (("Could not get ACPI table (size %X), %s\n", - header.length, acpi_format_exception (status))); - return_ACPI_STATUS (status); + status = acpi_tb_get_table_body(address, &header, table_info); + if (ACPI_FAILURE(status)) { + ACPI_REPORT_ERROR(("Could not get ACPI table (size %X), %s\n", + header.length, + acpi_format_exception(status))); + return_ACPI_STATUS(status); } - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS(AE_OK); } - /******************************************************************************* * * FUNCTION: acpi_tb_get_table_header @@ -127,16 +118,13 @@ acpi_tb_get_table ( ******************************************************************************/ acpi_status -acpi_tb_get_table_header ( - struct acpi_pointer *address, - struct acpi_table_header *return_header) +acpi_tb_get_table_header(struct acpi_pointer *address, + struct acpi_table_header *return_header) { - acpi_status status = AE_OK; - struct acpi_table_header *header = NULL; - - - ACPI_FUNCTION_TRACE ("tb_get_table_header"); + acpi_status status = AE_OK; + struct acpi_table_header *header = NULL; + ACPI_FUNCTION_TRACE("tb_get_table_header"); /* * Flags contains the current processor mode (Virtual or Physical @@ -148,46 +136,42 @@ acpi_tb_get_table_header ( /* Pointer matches processor mode, copy the header */ - ACPI_MEMCPY (return_header, address->pointer.logical, - sizeof (struct acpi_table_header)); + ACPI_MEMCPY(return_header, address->pointer.logical, + sizeof(struct acpi_table_header)); break; - case ACPI_LOGMODE_PHYSPTR: - /* Create a logical address for the physical pointer*/ + /* Create a logical address for the physical pointer */ - status = acpi_os_map_memory (address->pointer.physical, - sizeof (struct acpi_table_header), (void *) &header); - if (ACPI_FAILURE (status)) { - ACPI_REPORT_ERROR (( - "Could not map memory at %8.8X%8.8X for length %X\n", - ACPI_FORMAT_UINT64 (address->pointer.physical), - sizeof (struct acpi_table_header))); - return_ACPI_STATUS (status); + status = acpi_os_map_memory(address->pointer.physical, + sizeof(struct acpi_table_header), + (void *)&header); + if (ACPI_FAILURE(status)) { + ACPI_REPORT_ERROR(("Could not map memory at %8.8X%8.8X for length %X\n", ACPI_FORMAT_UINT64(address->pointer.physical), sizeof(struct acpi_table_header))); + return_ACPI_STATUS(status); } /* Copy header and delete mapping */ - ACPI_MEMCPY (return_header, header, sizeof (struct acpi_table_header)); - acpi_os_unmap_memory (header, sizeof (struct acpi_table_header)); + ACPI_MEMCPY(return_header, header, + sizeof(struct acpi_table_header)); + acpi_os_unmap_memory(header, sizeof(struct acpi_table_header)); break; - default: - ACPI_REPORT_ERROR (("Invalid address flags %X\n", - address->pointer_type)); - return_ACPI_STATUS (AE_BAD_PARAMETER); + ACPI_REPORT_ERROR(("Invalid address flags %X\n", + address->pointer_type)); + return_ACPI_STATUS(AE_BAD_PARAMETER); } - ACPI_DEBUG_PRINT ((ACPI_DB_TABLES, "Table Signature: [%4.4s]\n", - return_header->signature)); + ACPI_DEBUG_PRINT((ACPI_DB_TABLES, "Table Signature: [%4.4s]\n", + return_header->signature)); - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS(AE_OK); } - /******************************************************************************* * * FUNCTION: acpi_tb_get_table_body @@ -209,37 +193,33 @@ acpi_tb_get_table_header ( ******************************************************************************/ acpi_status -acpi_tb_get_table_body ( - struct acpi_pointer *address, - struct acpi_table_header *header, - struct acpi_table_desc *table_info) +acpi_tb_get_table_body(struct acpi_pointer *address, + struct acpi_table_header *header, + struct acpi_table_desc *table_info) { - acpi_status status; - - - ACPI_FUNCTION_TRACE ("tb_get_table_body"); + acpi_status status; + ACPI_FUNCTION_TRACE("tb_get_table_body"); if (!table_info || !address) { - return_ACPI_STATUS (AE_BAD_PARAMETER); + return_ACPI_STATUS(AE_BAD_PARAMETER); } /* Attempt table override. */ - status = acpi_tb_table_override (header, table_info); - if (ACPI_SUCCESS (status)) { + status = acpi_tb_table_override(header, table_info); + if (ACPI_SUCCESS(status)) { /* Table was overridden by the host OS */ - return_ACPI_STATUS (status); + return_ACPI_STATUS(status); } /* No override, get the original table */ - status = acpi_tb_get_this_table (address, header, table_info); - return_ACPI_STATUS (status); + status = acpi_tb_get_this_table(address, header, table_info); + return_ACPI_STATUS(status); } - /******************************************************************************* * * FUNCTION: acpi_tb_table_override @@ -255,61 +235,57 @@ acpi_tb_get_table_body ( ******************************************************************************/ static acpi_status -acpi_tb_table_override ( - struct acpi_table_header *header, - struct acpi_table_desc *table_info) +acpi_tb_table_override(struct acpi_table_header *header, + struct acpi_table_desc *table_info) { - struct acpi_table_header *new_table; - acpi_status status; - struct acpi_pointer address; - - - ACPI_FUNCTION_TRACE ("tb_table_override"); + struct acpi_table_header *new_table; + acpi_status status; + struct acpi_pointer address; + ACPI_FUNCTION_TRACE("tb_table_override"); /* * The OSL will examine the header and decide whether to override this * table. If it decides to override, a table will be returned in new_table, * which we will then copy. */ - status = acpi_os_table_override (header, &new_table); - if (ACPI_FAILURE (status)) { + status = acpi_os_table_override(header, &new_table); + if (ACPI_FAILURE(status)) { /* Some severe error from the OSL, but we basically ignore it */ - ACPI_REPORT_ERROR (("Could not override ACPI table, %s\n", - acpi_format_exception (status))); - return_ACPI_STATUS (status); + ACPI_REPORT_ERROR(("Could not override ACPI table, %s\n", + acpi_format_exception(status))); + return_ACPI_STATUS(status); } if (!new_table) { /* No table override */ - return_ACPI_STATUS (AE_NO_ACPI_TABLES); + return_ACPI_STATUS(AE_NO_ACPI_TABLES); } /* * We have a new table to override the old one. Get a copy of * the new one. We know that the new table has a logical pointer. */ - address.pointer_type = ACPI_LOGICAL_POINTER | ACPI_LOGICAL_ADDRESSING; + address.pointer_type = ACPI_LOGICAL_POINTER | ACPI_LOGICAL_ADDRESSING; address.pointer.logical = new_table; - status = acpi_tb_get_this_table (&address, new_table, table_info); - if (ACPI_FAILURE (status)) { - ACPI_REPORT_ERROR (("Could not copy override ACPI table, %s\n", - acpi_format_exception (status))); - return_ACPI_STATUS (status); + status = acpi_tb_get_this_table(&address, new_table, table_info); + if (ACPI_FAILURE(status)) { + ACPI_REPORT_ERROR(("Could not copy override ACPI table, %s\n", + acpi_format_exception(status))); + return_ACPI_STATUS(status); } /* Copy the table info */ - ACPI_REPORT_INFO (("Table [%4.4s] replaced by host OS\n", - table_info->pointer->signature)); + ACPI_REPORT_INFO(("Table [%4.4s] replaced by host OS\n", + table_info->pointer->signature)); - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS(AE_OK); } - /******************************************************************************* * * FUNCTION: acpi_tb_get_this_table @@ -329,18 +305,15 @@ acpi_tb_table_override ( ******************************************************************************/ static acpi_status -acpi_tb_get_this_table ( - struct acpi_pointer *address, - struct acpi_table_header *header, - struct acpi_table_desc *table_info) +acpi_tb_get_this_table(struct acpi_pointer *address, + struct acpi_table_header *header, + struct acpi_table_desc *table_info) { - struct acpi_table_header *full_table = NULL; - u8 allocation; - acpi_status status = AE_OK; - - - ACPI_FUNCTION_TRACE ("tb_get_this_table"); + struct acpi_table_header *full_table = NULL; + u8 allocation; + acpi_status status = AE_OK; + ACPI_FUNCTION_TRACE("tb_get_this_table"); /* * Flags contains the current processor mode (Virtual or Physical @@ -352,38 +325,33 @@ acpi_tb_get_this_table ( /* Pointer matches processor mode, copy the table to a new buffer */ - full_table = ACPI_MEM_ALLOCATE (header->length); + full_table = ACPI_MEM_ALLOCATE(header->length); if (!full_table) { - ACPI_REPORT_ERROR (( - "Could not allocate table memory for [%4.4s] length %X\n", - header->signature, header->length)); - return_ACPI_STATUS (AE_NO_MEMORY); + ACPI_REPORT_ERROR(("Could not allocate table memory for [%4.4s] length %X\n", header->signature, header->length)); + return_ACPI_STATUS(AE_NO_MEMORY); } /* Copy the entire table (including header) to the local buffer */ - ACPI_MEMCPY (full_table, address->pointer.logical, header->length); + ACPI_MEMCPY(full_table, address->pointer.logical, + header->length); /* Save allocation type */ allocation = ACPI_MEM_ALLOCATED; break; - case ACPI_LOGMODE_PHYSPTR: /* * Just map the table's physical memory * into our address space. */ - status = acpi_os_map_memory (address->pointer.physical, - (acpi_size) header->length, (void *) &full_table); - if (ACPI_FAILURE (status)) { - ACPI_REPORT_ERROR (( - "Could not map memory for table [%4.4s] at %8.8X%8.8X for length %X\n", - header->signature, - ACPI_FORMAT_UINT64 (address->pointer.physical), - header->length)); + status = acpi_os_map_memory(address->pointer.physical, + (acpi_size) header->length, + (void *)&full_table); + if (ACPI_FAILURE(status)) { + ACPI_REPORT_ERROR(("Could not map memory for table [%4.4s] at %8.8X%8.8X for length %X\n", header->signature, ACPI_FORMAT_UINT64(address->pointer.physical), header->length)); return (status); } @@ -392,12 +360,11 @@ acpi_tb_get_this_table ( allocation = ACPI_MEM_MAPPED; break; - default: - ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Invalid address flags %X\n", - address->pointer_type)); - return_ACPI_STATUS (AE_BAD_PARAMETER); + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid address flags %X\n", + address->pointer_type)); + return_ACPI_STATUS(AE_BAD_PARAMETER); } /* @@ -405,10 +372,10 @@ acpi_tb_get_this_table ( * even the ones whose signature we don't recognize */ if (table_info->type != ACPI_TABLE_FACS) { - status = acpi_tb_verify_table_checksum (full_table); + status = acpi_tb_verify_table_checksum(full_table); #if (!ACPI_CHECKSUM_ABORT) - if (ACPI_FAILURE (status)) { + if (ACPI_FAILURE(status)) { /* Ignore the error if configuration says so */ status = AE_OK; @@ -418,19 +385,19 @@ acpi_tb_get_this_table ( /* Return values */ - table_info->pointer = full_table; - table_info->length = (acpi_size) header->length; - table_info->allocation = allocation; + table_info->pointer = full_table; + table_info->length = (acpi_size) header->length; + table_info->allocation = allocation; - ACPI_DEBUG_PRINT ((ACPI_DB_INFO, - "Found table [%4.4s] at %8.8X%8.8X, mapped/copied to %p\n", - full_table->signature, - ACPI_FORMAT_UINT64 (address->pointer.physical), full_table)); + ACPI_DEBUG_PRINT((ACPI_DB_INFO, + "Found table [%4.4s] at %8.8X%8.8X, mapped/copied to %p\n", + full_table->signature, + ACPI_FORMAT_UINT64(address->pointer.physical), + full_table)); - return_ACPI_STATUS (status); + return_ACPI_STATUS(status); } - /******************************************************************************* * * FUNCTION: acpi_tb_get_table_ptr @@ -447,24 +414,20 @@ acpi_tb_get_this_table ( ******************************************************************************/ acpi_status -acpi_tb_get_table_ptr ( - acpi_table_type table_type, - u32 instance, - struct acpi_table_header **table_ptr_loc) +acpi_tb_get_table_ptr(acpi_table_type table_type, + u32 instance, struct acpi_table_header **table_ptr_loc) { - struct acpi_table_desc *table_desc; - u32 i; - - - ACPI_FUNCTION_TRACE ("tb_get_table_ptr"); + struct acpi_table_desc *table_desc; + u32 i; + ACPI_FUNCTION_TRACE("tb_get_table_ptr"); if (!acpi_gbl_DSDT) { - return_ACPI_STATUS (AE_NO_ACPI_TABLES); + return_ACPI_STATUS(AE_NO_ACPI_TABLES); } if (table_type > ACPI_TABLE_MAX) { - return_ACPI_STATUS (AE_BAD_PARAMETER); + return_ACPI_STATUS(AE_BAD_PARAMETER); } /* @@ -476,15 +439,16 @@ acpi_tb_get_table_ptr ( *table_ptr_loc = NULL; if (acpi_gbl_table_lists[table_type].next) { - *table_ptr_loc = acpi_gbl_table_lists[table_type].next->pointer; + *table_ptr_loc = + acpi_gbl_table_lists[table_type].next->pointer; } - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS(AE_OK); } /* Check for instance out of range */ if (instance > acpi_gbl_table_lists[table_type].count) { - return_ACPI_STATUS (AE_NOT_EXIST); + return_ACPI_STATUS(AE_NOT_EXIST); } /* Walk the list to get the desired table @@ -503,6 +467,5 @@ acpi_tb_get_table_ptr ( *table_ptr_loc = table_desc->pointer; - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS(AE_OK); } - diff --git a/drivers/acpi/tables/tbgetall.c b/drivers/acpi/tables/tbgetall.c index eea5b8cb5ebb..8d72343537e7 100644 --- a/drivers/acpi/tables/tbgetall.c +++ b/drivers/acpi/tables/tbgetall.c @@ -41,27 +41,21 @@ * POSSIBILITY OF SUCH DAMAGES. */ - #include <acpi/acpi.h> #include <acpi/actables.h> - #define _COMPONENT ACPI_TABLES - ACPI_MODULE_NAME ("tbgetall") +ACPI_MODULE_NAME("tbgetall") /* Local prototypes */ - static acpi_status -acpi_tb_get_primary_table ( - struct acpi_pointer *address, - struct acpi_table_desc *table_info); +acpi_tb_get_primary_table(struct acpi_pointer *address, + struct acpi_table_desc *table_info); static acpi_status -acpi_tb_get_secondary_table ( - struct acpi_pointer *address, - acpi_string signature, - struct acpi_table_desc *table_info); - +acpi_tb_get_secondary_table(struct acpi_pointer *address, + acpi_string signature, + struct acpi_table_desc *table_info); /******************************************************************************* * @@ -77,58 +71,54 @@ acpi_tb_get_secondary_table ( ******************************************************************************/ static acpi_status -acpi_tb_get_primary_table ( - struct acpi_pointer *address, - struct acpi_table_desc *table_info) +acpi_tb_get_primary_table(struct acpi_pointer *address, + struct acpi_table_desc *table_info) { - acpi_status status; - struct acpi_table_header header; - - - ACPI_FUNCTION_TRACE ("tb_get_primary_table"); + acpi_status status; + struct acpi_table_header header; + ACPI_FUNCTION_TRACE("tb_get_primary_table"); /* Ignore a NULL address in the RSDT */ if (!address->pointer.value) { - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS(AE_OK); } /* Get the header in order to get signature and table size */ - status = acpi_tb_get_table_header (address, &header); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_get_table_header(address, &header); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Clear the table_info */ - ACPI_MEMSET (table_info, 0, sizeof (struct acpi_table_desc)); + ACPI_MEMSET(table_info, 0, sizeof(struct acpi_table_desc)); /* * Check the table signature and make sure it is recognized. * Also checks the header checksum */ table_info->pointer = &header; - status = acpi_tb_recognize_table (table_info, ACPI_TABLE_PRIMARY); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_recognize_table(table_info, ACPI_TABLE_PRIMARY); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Get the entire table */ - status = acpi_tb_get_table_body (address, &header, table_info); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_get_table_body(address, &header, table_info); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Install the table */ - status = acpi_tb_install_table (table_info); - return_ACPI_STATUS (status); + status = acpi_tb_install_table(table_info); + return_ACPI_STATUS(status); } - /******************************************************************************* * * FUNCTION: acpi_tb_get_secondary_table @@ -143,32 +133,27 @@ acpi_tb_get_primary_table ( ******************************************************************************/ static acpi_status -acpi_tb_get_secondary_table ( - struct acpi_pointer *address, - acpi_string signature, - struct acpi_table_desc *table_info) +acpi_tb_get_secondary_table(struct acpi_pointer *address, + acpi_string signature, + struct acpi_table_desc *table_info) { - acpi_status status; - struct acpi_table_header header; - - - ACPI_FUNCTION_TRACE_STR ("tb_get_secondary_table", signature); + acpi_status status; + struct acpi_table_header header; + ACPI_FUNCTION_TRACE_STR("tb_get_secondary_table", signature); /* Get the header in order to match the signature */ - status = acpi_tb_get_table_header (address, &header); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_get_table_header(address, &header); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Signature must match request */ - if (ACPI_STRNCMP (header.signature, signature, ACPI_NAME_SIZE)) { - ACPI_REPORT_ERROR (( - "Incorrect table signature - wanted [%s] found [%4.4s]\n", - signature, header.signature)); - return_ACPI_STATUS (AE_BAD_SIGNATURE); + if (ACPI_STRNCMP(header.signature, signature, ACPI_NAME_SIZE)) { + ACPI_REPORT_ERROR(("Incorrect table signature - wanted [%s] found [%4.4s]\n", signature, header.signature)); + return_ACPI_STATUS(AE_BAD_SIGNATURE); } /* @@ -176,25 +161,24 @@ acpi_tb_get_secondary_table ( * Also checks the header checksum */ table_info->pointer = &header; - status = acpi_tb_recognize_table (table_info, ACPI_TABLE_SECONDARY); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_recognize_table(table_info, ACPI_TABLE_SECONDARY); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Get the entire table */ - status = acpi_tb_get_table_body (address, &header, table_info); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_get_table_body(address, &header, table_info); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Install the table */ - status = acpi_tb_install_table (table_info); - return_ACPI_STATUS (status); + status = acpi_tb_install_table(table_info); + return_ACPI_STATUS(status); } - /******************************************************************************* * * FUNCTION: acpi_tb_get_required_tables @@ -214,23 +198,19 @@ acpi_tb_get_secondary_table ( * ******************************************************************************/ -acpi_status -acpi_tb_get_required_tables ( - void) +acpi_status acpi_tb_get_required_tables(void) { - acpi_status status = AE_OK; - u32 i; - struct acpi_table_desc table_info; - struct acpi_pointer address; - + acpi_status status = AE_OK; + u32 i; + struct acpi_table_desc table_info; + struct acpi_pointer address; - ACPI_FUNCTION_TRACE ("tb_get_required_tables"); + ACPI_FUNCTION_TRACE("tb_get_required_tables"); - ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "%d ACPI tables in RSDT\n", - acpi_gbl_rsdt_table_count)); + ACPI_DEBUG_PRINT((ACPI_DB_INFO, "%d ACPI tables in RSDT\n", + acpi_gbl_rsdt_table_count)); - - address.pointer_type = acpi_gbl_table_flags | ACPI_LOGICAL_ADDRESSING; + address.pointer_type = acpi_gbl_table_flags | ACPI_LOGICAL_ADDRESSING; /* * Loop through all table pointers found in RSDT. @@ -243,84 +223,79 @@ acpi_tb_get_required_tables ( for (i = 0; i < acpi_gbl_rsdt_table_count; i++) { /* Get the table address from the common internal XSDT */ - address.pointer.value = - acpi_gbl_XSDT->table_offset_entry[i]; + address.pointer.value = acpi_gbl_XSDT->table_offset_entry[i]; /* * Get the tables needed by this subsystem (FADT and any SSDTs). * NOTE: All other tables are completely ignored at this time. */ - status = acpi_tb_get_primary_table (&address, &table_info); + status = acpi_tb_get_primary_table(&address, &table_info); if ((status != AE_OK) && (status != AE_TABLE_NOT_SUPPORTED)) { - ACPI_REPORT_WARNING (("%s, while getting table at %8.8X%8.8X\n", - acpi_format_exception (status), - ACPI_FORMAT_UINT64 (address.pointer.value))); + ACPI_REPORT_WARNING(("%s, while getting table at %8.8X%8.8X\n", acpi_format_exception(status), ACPI_FORMAT_UINT64(address.pointer.value))); } } /* We must have a FADT to continue */ if (!acpi_gbl_FADT) { - ACPI_REPORT_ERROR (("No FADT present in RSDT/XSDT\n")); - return_ACPI_STATUS (AE_NO_ACPI_TABLES); + ACPI_REPORT_ERROR(("No FADT present in RSDT/XSDT\n")); + return_ACPI_STATUS(AE_NO_ACPI_TABLES); } /* * Convert the FADT to a common format. This allows earlier revisions of * the table to coexist with newer versions, using common access code. */ - status = acpi_tb_convert_table_fadt (); - if (ACPI_FAILURE (status)) { - ACPI_REPORT_ERROR (( - "Could not convert FADT to internal common format\n")); - return_ACPI_STATUS (status); + status = acpi_tb_convert_table_fadt(); + if (ACPI_FAILURE(status)) { + ACPI_REPORT_ERROR(("Could not convert FADT to internal common format\n")); + return_ACPI_STATUS(status); } /* Get the FACS (Pointed to by the FADT) */ address.pointer.value = acpi_gbl_FADT->xfirmware_ctrl; - status = acpi_tb_get_secondary_table (&address, FACS_SIG, &table_info); - if (ACPI_FAILURE (status)) { - ACPI_REPORT_ERROR (("Could not get/install the FACS, %s\n", - acpi_format_exception (status))); - return_ACPI_STATUS (status); + status = acpi_tb_get_secondary_table(&address, FACS_SIG, &table_info); + if (ACPI_FAILURE(status)) { + ACPI_REPORT_ERROR(("Could not get/install the FACS, %s\n", + acpi_format_exception(status))); + return_ACPI_STATUS(status); } /* * Create the common FACS pointer table * (Contains pointers to the original table) */ - status = acpi_tb_build_common_facs (&table_info); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_build_common_facs(&table_info); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Get/install the DSDT (Pointed to by the FADT) */ address.pointer.value = acpi_gbl_FADT->Xdsdt; - status = acpi_tb_get_secondary_table (&address, DSDT_SIG, &table_info); - if (ACPI_FAILURE (status)) { - ACPI_REPORT_ERROR (("Could not get/install the DSDT\n")); - return_ACPI_STATUS (status); + status = acpi_tb_get_secondary_table(&address, DSDT_SIG, &table_info); + if (ACPI_FAILURE(status)) { + ACPI_REPORT_ERROR(("Could not get/install the DSDT\n")); + return_ACPI_STATUS(status); } /* Set Integer Width (32/64) based upon DSDT revision */ - acpi_ut_set_integer_width (acpi_gbl_DSDT->revision); + acpi_ut_set_integer_width(acpi_gbl_DSDT->revision); /* Dump the entire DSDT */ - ACPI_DEBUG_PRINT ((ACPI_DB_TABLES, - "Hex dump of entire DSDT, size %d (0x%X), Integer width = %d\n", - acpi_gbl_DSDT->length, acpi_gbl_DSDT->length, acpi_gbl_integer_bit_width)); - ACPI_DUMP_BUFFER ((u8 *) acpi_gbl_DSDT, acpi_gbl_DSDT->length); + ACPI_DEBUG_PRINT((ACPI_DB_TABLES, + "Hex dump of entire DSDT, size %d (0x%X), Integer width = %d\n", + acpi_gbl_DSDT->length, acpi_gbl_DSDT->length, + acpi_gbl_integer_bit_width)); + ACPI_DUMP_BUFFER((u8 *) acpi_gbl_DSDT, acpi_gbl_DSDT->length); /* Always delete the RSDP mapping, we are done with it */ - acpi_tb_delete_tables_by_type (ACPI_TABLE_RSDP); - return_ACPI_STATUS (status); + acpi_tb_delete_tables_by_type(ACPI_TABLE_RSDP); + return_ACPI_STATUS(status); } - - diff --git a/drivers/acpi/tables/tbinstal.c b/drivers/acpi/tables/tbinstal.c index 698799901f55..10db8484e462 100644 --- a/drivers/acpi/tables/tbinstal.c +++ b/drivers/acpi/tables/tbinstal.c @@ -41,22 +41,16 @@ * POSSIBILITY OF SUCH DAMAGES. */ - #include <acpi/acpi.h> #include <acpi/actables.h> - #define _COMPONENT ACPI_TABLES - ACPI_MODULE_NAME ("tbinstal") +ACPI_MODULE_NAME("tbinstal") /* Local prototypes */ - static acpi_status -acpi_tb_match_signature ( - char *signature, - struct acpi_table_desc *table_info, - u8 search_type); - +acpi_tb_match_signature(char *signature, + struct acpi_table_desc *table_info, u8 search_type); /******************************************************************************* * @@ -74,16 +68,12 @@ acpi_tb_match_signature ( ******************************************************************************/ static acpi_status -acpi_tb_match_signature ( - char *signature, - struct acpi_table_desc *table_info, - u8 search_type) +acpi_tb_match_signature(char *signature, + struct acpi_table_desc *table_info, u8 search_type) { - acpi_native_uint i; - - - ACPI_FUNCTION_TRACE ("tb_match_signature"); + acpi_native_uint i; + ACPI_FUNCTION_TRACE("tb_match_signature"); /* Search for a signature match among the known table types */ @@ -92,30 +82,30 @@ acpi_tb_match_signature ( continue; } - if (!ACPI_STRNCMP (signature, acpi_gbl_table_data[i].signature, - acpi_gbl_table_data[i].sig_length)) { + 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) { table_info->type = (u8) i; } - ACPI_DEBUG_PRINT ((ACPI_DB_INFO, - "Table [%4.4s] is an ACPI table consumed by the core subsystem\n", - (char *) acpi_gbl_table_data[i].signature)); + ACPI_DEBUG_PRINT((ACPI_DB_INFO, + "Table [%4.4s] is an ACPI table consumed by the core subsystem\n", + (char *)acpi_gbl_table_data[i]. + signature)); - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS(AE_OK); } } - ACPI_DEBUG_PRINT ((ACPI_DB_INFO, - "Table [%4.4s] is not an ACPI table consumed by the core subsystem - ignored\n", - (char *) signature)); + ACPI_DEBUG_PRINT((ACPI_DB_INFO, + "Table [%4.4s] is not an ACPI table consumed by the core subsystem - ignored\n", + (char *)signature)); - return_ACPI_STATUS (AE_TABLE_NOT_SUPPORTED); + return_ACPI_STATUS(AE_TABLE_NOT_SUPPORTED); } - /******************************************************************************* * * FUNCTION: acpi_tb_install_table @@ -128,52 +118,48 @@ acpi_tb_match_signature ( * ******************************************************************************/ -acpi_status -acpi_tb_install_table ( - struct acpi_table_desc *table_info) +acpi_status acpi_tb_install_table(struct acpi_table_desc *table_info) { - acpi_status status; - - - ACPI_FUNCTION_TRACE ("tb_install_table"); + acpi_status status; + ACPI_FUNCTION_TRACE("tb_install_table"); /* Lock tables while installing */ - status = acpi_ut_acquire_mutex (ACPI_MTX_TABLES); - if (ACPI_FAILURE (status)) { - ACPI_REPORT_ERROR (("Could not acquire table mutex, %s\n", - acpi_format_exception (status))); - return_ACPI_STATUS (status); + status = acpi_ut_acquire_mutex(ACPI_MTX_TABLES); + if (ACPI_FAILURE(status)) { + ACPI_REPORT_ERROR(("Could not acquire table mutex, %s\n", + acpi_format_exception(status))); + return_ACPI_STATUS(status); } /* * Ignore a table that is already installed. For example, some BIOS * ASL code will repeatedly attempt to load the same SSDT. */ - status = acpi_tb_is_table_installed (table_info); - if (ACPI_FAILURE (status)) { + status = acpi_tb_is_table_installed(table_info); + if (ACPI_FAILURE(status)) { goto unlock_and_exit; } /* Install the table into the global data structure */ - status = acpi_tb_init_table_descriptor (table_info->type, table_info); - if (ACPI_FAILURE (status)) { - ACPI_REPORT_ERROR (("Could not install table [%4.4s], %s\n", - table_info->pointer->signature, acpi_format_exception (status))); + status = acpi_tb_init_table_descriptor(table_info->type, table_info); + if (ACPI_FAILURE(status)) { + ACPI_REPORT_ERROR(("Could not install table [%4.4s], %s\n", + table_info->pointer->signature, + acpi_format_exception(status))); } - ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "%s located at %p\n", - acpi_gbl_table_data[table_info->type].name, table_info->pointer)); + ACPI_DEBUG_PRINT((ACPI_DB_INFO, "%s located at %p\n", + acpi_gbl_table_data[table_info->type].name, + table_info->pointer)); - -unlock_and_exit: - (void) acpi_ut_release_mutex (ACPI_MTX_TABLES); - return_ACPI_STATUS (status); + unlock_and_exit: + (void)acpi_ut_release_mutex(ACPI_MTX_TABLES); + return_ACPI_STATUS(status); } - /******************************************************************************* * * FUNCTION: acpi_tb_recognize_table @@ -196,22 +182,18 @@ unlock_and_exit: ******************************************************************************/ acpi_status -acpi_tb_recognize_table ( - struct acpi_table_desc *table_info, - u8 search_type) +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"); + struct acpi_table_header *table_header; + acpi_status status; + ACPI_FUNCTION_TRACE("tb_recognize_table"); /* Ensure that we have a valid table pointer */ - table_header = (struct acpi_table_header *) table_info->pointer; + table_header = (struct acpi_table_header *)table_info->pointer; if (!table_header) { - return_ACPI_STATUS (AE_BAD_PARAMETER); + return_ACPI_STATUS(AE_BAD_PARAMETER); } /* @@ -222,25 +204,24 @@ acpi_tb_recognize_table ( * This can be any one of many valid ACPI tables, it just isn't one of * the tables that is consumed by the core subsystem */ - status = acpi_tb_match_signature (table_header->signature, - table_info, search_type); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_match_signature(table_header->signature, + table_info, search_type); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } - status = acpi_tb_validate_table_header (table_header); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_validate_table_header(table_header); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Return the table type and length via the info struct */ table_info->length = (acpi_size) table_header->length; - return_ACPI_STATUS (status); + return_ACPI_STATUS(status); } - /******************************************************************************* * * FUNCTION: acpi_tb_init_table_descriptor @@ -255,30 +236,27 @@ acpi_tb_recognize_table ( ******************************************************************************/ acpi_status -acpi_tb_init_table_descriptor ( - acpi_table_type table_type, - struct acpi_table_desc *table_info) +acpi_tb_init_table_descriptor(acpi_table_type table_type, + struct acpi_table_desc *table_info) { - struct acpi_table_list *list_head; - struct acpi_table_desc *table_desc; - acpi_status status; - - - ACPI_FUNCTION_TRACE_U32 ("tb_init_table_descriptor", table_type); + struct acpi_table_list *list_head; + struct acpi_table_desc *table_desc; + acpi_status status; + ACPI_FUNCTION_TRACE_U32("tb_init_table_descriptor", table_type); /* Allocate a descriptor for this table */ - table_desc = ACPI_MEM_CALLOCATE (sizeof (struct acpi_table_desc)); + table_desc = ACPI_MEM_CALLOCATE(sizeof(struct acpi_table_desc)); if (!table_desc) { - return_ACPI_STATUS (AE_NO_MEMORY); + return_ACPI_STATUS(AE_NO_MEMORY); } /* Get a new owner ID for the table */ - status = acpi_ut_allocate_owner_id (&table_desc->owner_id); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_ut_allocate_owner_id(&table_desc->owner_id); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Install the table into the global data structure */ @@ -290,14 +268,14 @@ acpi_tb_init_table_descriptor ( * includes most ACPI tables such as the DSDT. 2) Multiple instances of * the table are allowed. This includes SSDT and PSDTs. */ - if (ACPI_IS_SINGLE_TABLE (acpi_gbl_table_data[table_type].flags)) { + if (ACPI_IS_SINGLE_TABLE(acpi_gbl_table_data[table_type].flags)) { /* * Only one table allowed, and a table has alread been installed * at this location, so return an error. */ if (list_head->next) { - ACPI_MEM_FREE (table_desc); - return_ACPI_STATUS (AE_ALREADY_EXISTS); + ACPI_MEM_FREE(table_desc); + return_ACPI_STATUS(AE_ALREADY_EXISTS); } table_desc->next = list_head->next; @@ -308,8 +286,7 @@ acpi_tb_init_table_descriptor ( } list_head->count++; - } - else { + } else { /* * Link the new table in to the list of tables of this type. * Insert at the end of the list, order IS IMPORTANT. @@ -320,8 +297,7 @@ acpi_tb_init_table_descriptor ( if (!list_head->next) { list_head->next = table_desc; - } - else { + } else { table_desc->next = list_head->next; while (table_desc->next->next) { @@ -336,13 +312,14 @@ acpi_tb_init_table_descriptor ( /* Finish initialization of the table descriptor */ - 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->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->loaded_into_namespace = FALSE; /* @@ -350,18 +327,18 @@ acpi_tb_init_table_descriptor ( * newly installed table */ if (acpi_gbl_table_data[table_type].global_ptr) { - *(acpi_gbl_table_data[table_type].global_ptr) = table_info->pointer; + *(acpi_gbl_table_data[table_type].global_ptr) = + table_info->pointer; } /* Return Data */ - table_info->owner_id = table_desc->owner_id; - table_info->installed_desc = table_desc; + table_info->owner_id = table_desc->owner_id; + table_info->installed_desc = table_desc; - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS(AE_OK); } - /******************************************************************************* * * FUNCTION: acpi_tb_delete_all_tables @@ -374,23 +351,19 @@ acpi_tb_init_table_descriptor ( * ******************************************************************************/ -void -acpi_tb_delete_all_tables ( - void) +void acpi_tb_delete_all_tables(void) { - acpi_table_type type; - + acpi_table_type type; /* * Free memory allocated for ACPI tables * Memory can either be mapped or allocated */ for (type = 0; type < NUM_ACPI_TABLE_TYPES; type++) { - acpi_tb_delete_tables_by_type (type); + acpi_tb_delete_tables_by_type(type); } } - /******************************************************************************* * * FUNCTION: acpi_tb_delete_tables_by_type @@ -404,23 +377,19 @@ acpi_tb_delete_all_tables ( * ******************************************************************************/ -void -acpi_tb_delete_tables_by_type ( - acpi_table_type type) +void acpi_tb_delete_tables_by_type(acpi_table_type type) { - struct acpi_table_desc *table_desc; - u32 count; - u32 i; - - - ACPI_FUNCTION_TRACE_U32 ("tb_delete_tables_by_type", type); + struct acpi_table_desc *table_desc; + u32 count; + u32 i; + ACPI_FUNCTION_TRACE_U32("tb_delete_tables_by_type", type); if (type > ACPI_TABLE_MAX) { return_VOID; } - if (ACPI_FAILURE (acpi_ut_acquire_mutex (ACPI_MTX_TABLES))) { + if (ACPI_FAILURE(acpi_ut_acquire_mutex(ACPI_MTX_TABLES))) { return; } @@ -458,21 +427,20 @@ acpi_tb_delete_tables_by_type ( * 1) Get the head of the list */ table_desc = acpi_gbl_table_lists[type].next; - count = acpi_gbl_table_lists[type].count; + count = acpi_gbl_table_lists[type].count; /* * 2) Walk the entire list, deleting both the allocated tables * and the table descriptors */ for (i = 0; i < count; i++) { - table_desc = acpi_tb_uninstall_table (table_desc); + table_desc = acpi_tb_uninstall_table(table_desc); } - (void) acpi_ut_release_mutex (ACPI_MTX_TABLES); + (void)acpi_ut_release_mutex(ACPI_MTX_TABLES); return_VOID; } - /******************************************************************************* * * FUNCTION: acpi_tb_delete_single_table @@ -486,15 +454,12 @@ acpi_tb_delete_tables_by_type ( * ******************************************************************************/ -void -acpi_tb_delete_single_table ( - struct acpi_table_desc *table_desc) +void acpi_tb_delete_single_table(struct acpi_table_desc *table_desc) { /* Must have a valid table descriptor and pointer */ - if ((!table_desc) || - (!table_desc->pointer)) { + if ((!table_desc) || (!table_desc->pointer)) { return; } @@ -506,12 +471,12 @@ acpi_tb_delete_single_table ( case ACPI_MEM_ALLOCATED: - ACPI_MEM_FREE (table_desc->pointer); + ACPI_MEM_FREE(table_desc->pointer); break; case ACPI_MEM_MAPPED: - acpi_os_unmap_memory (table_desc->pointer, table_desc->length); + acpi_os_unmap_memory(table_desc->pointer, table_desc->length); break; default: @@ -519,7 +484,6 @@ acpi_tb_delete_single_table ( } } - /******************************************************************************* * * FUNCTION: acpi_tb_uninstall_table @@ -534,26 +498,22 @@ acpi_tb_delete_single_table ( * ******************************************************************************/ -struct acpi_table_desc * -acpi_tb_uninstall_table ( - struct acpi_table_desc *table_desc) +struct acpi_table_desc *acpi_tb_uninstall_table(struct acpi_table_desc + *table_desc) { - struct acpi_table_desc *next_desc; - - - ACPI_FUNCTION_TRACE_PTR ("tb_uninstall_table", table_desc); + struct acpi_table_desc *next_desc; + ACPI_FUNCTION_TRACE_PTR("tb_uninstall_table", table_desc); if (!table_desc) { - return_PTR (NULL); + return_PTR(NULL); } /* Unlink the descriptor from the doubly linked list */ if (table_desc->prev) { table_desc->prev->next = table_desc->next; - } - else { + } else { /* Is first on list, update list head */ acpi_gbl_table_lists[table_desc->type].next = table_desc->next; @@ -565,16 +525,14 @@ acpi_tb_uninstall_table ( /* Free the memory allocated for the table itself */ - acpi_tb_delete_single_table (table_desc); + acpi_tb_delete_single_table(table_desc); /* Free the table descriptor */ next_desc = table_desc->next; - ACPI_MEM_FREE (table_desc); + ACPI_MEM_FREE(table_desc); /* Return pointer to the next descriptor */ - return_PTR (next_desc); + return_PTR(next_desc); } - - diff --git a/drivers/acpi/tables/tbrsdt.c b/drivers/acpi/tables/tbrsdt.c index 069d498465d0..ad0252c2f7db 100644 --- a/drivers/acpi/tables/tbrsdt.c +++ b/drivers/acpi/tables/tbrsdt.c @@ -41,14 +41,11 @@ * POSSIBILITY OF SUCH DAMAGES. */ - #include <acpi/acpi.h> #include <acpi/actables.h> - #define _COMPONENT ACPI_TABLES - ACPI_MODULE_NAME ("tbrsdt") - +ACPI_MODULE_NAME("tbrsdt") /******************************************************************************* * @@ -61,18 +58,13 @@ * DESCRIPTION: Load and validate the RSDP (ptr) and RSDT (table) * ******************************************************************************/ - -acpi_status -acpi_tb_verify_rsdp ( - struct acpi_pointer *address) +acpi_status acpi_tb_verify_rsdp(struct acpi_pointer *address) { - struct acpi_table_desc table_info; - acpi_status status; - struct rsdp_descriptor *rsdp; - - - ACPI_FUNCTION_TRACE ("tb_verify_rsdp"); + struct acpi_table_desc table_info; + acpi_status status; + struct rsdp_descriptor *rsdp; + ACPI_FUNCTION_TRACE("tb_verify_rsdp"); switch (address->pointer_type) { case ACPI_LOGICAL_POINTER: @@ -84,54 +76,53 @@ acpi_tb_verify_rsdp ( /* * Obtain access to the RSDP structure */ - status = acpi_os_map_memory (address->pointer.physical, - sizeof (struct rsdp_descriptor), - (void *) &rsdp); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_os_map_memory(address->pointer.physical, + sizeof(struct rsdp_descriptor), + (void *)&rsdp); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } break; default: - return_ACPI_STATUS (AE_BAD_PARAMETER); + return_ACPI_STATUS(AE_BAD_PARAMETER); } /* Verify RSDP signature and checksum */ - status = acpi_tb_validate_rsdp (rsdp); - if (ACPI_FAILURE (status)) { + status = acpi_tb_validate_rsdp(rsdp); + if (ACPI_FAILURE(status)) { goto cleanup; } /* The RSDP supplied is OK */ - table_info.pointer = ACPI_CAST_PTR (struct acpi_table_header, rsdp); - table_info.length = sizeof (struct rsdp_descriptor); - table_info.allocation = ACPI_MEM_MAPPED; + table_info.pointer = ACPI_CAST_PTR(struct acpi_table_header, rsdp); + table_info.length = sizeof(struct rsdp_descriptor); + table_info.allocation = ACPI_MEM_MAPPED; /* Save the table pointers and allocation info */ - status = acpi_tb_init_table_descriptor (ACPI_TABLE_RSDP, &table_info); - if (ACPI_FAILURE (status)) { + status = acpi_tb_init_table_descriptor(ACPI_TABLE_RSDP, &table_info); + if (ACPI_FAILURE(status)) { goto cleanup; } /* Save the RSDP in a global for easy access */ - acpi_gbl_RSDP = ACPI_CAST_PTR (struct rsdp_descriptor, table_info.pointer); - return_ACPI_STATUS (status); - + acpi_gbl_RSDP = + ACPI_CAST_PTR(struct rsdp_descriptor, table_info.pointer); + return_ACPI_STATUS(status); /* Error exit */ -cleanup: + cleanup: if (acpi_gbl_table_flags & ACPI_PHYSICAL_POINTER) { - acpi_os_unmap_memory (rsdp, sizeof (struct rsdp_descriptor)); + acpi_os_unmap_memory(rsdp, sizeof(struct rsdp_descriptor)); } - return_ACPI_STATUS (status); + return_ACPI_STATUS(status); } - /******************************************************************************* * * FUNCTION: acpi_tb_get_rsdt_address @@ -145,33 +136,30 @@ cleanup: * ******************************************************************************/ -void -acpi_tb_get_rsdt_address ( - struct acpi_pointer *out_address) +void acpi_tb_get_rsdt_address(struct acpi_pointer *out_address) { - ACPI_FUNCTION_ENTRY (); - + ACPI_FUNCTION_ENTRY(); - out_address->pointer_type = acpi_gbl_table_flags | ACPI_LOGICAL_ADDRESSING; + out_address->pointer_type = + acpi_gbl_table_flags | ACPI_LOGICAL_ADDRESSING; /* Use XSDT if it is present */ if ((acpi_gbl_RSDP->revision >= 2) && - acpi_gbl_RSDP->xsdt_physical_address) { + acpi_gbl_RSDP->xsdt_physical_address) { out_address->pointer.value = - acpi_gbl_RSDP->xsdt_physical_address; + acpi_gbl_RSDP->xsdt_physical_address; acpi_gbl_root_table_type = ACPI_TABLE_TYPE_XSDT; - } - else { + } else { /* No XSDT, use the RSDT */ - out_address->pointer.value = acpi_gbl_RSDP->rsdt_physical_address; + out_address->pointer.value = + acpi_gbl_RSDP->rsdt_physical_address; acpi_gbl_root_table_type = ACPI_TABLE_TYPE_RSDT; } } - /******************************************************************************* * * FUNCTION: acpi_tb_validate_rsdt @@ -184,49 +172,43 @@ acpi_tb_get_rsdt_address ( * ******************************************************************************/ -acpi_status -acpi_tb_validate_rsdt ( - struct acpi_table_header *table_ptr) +acpi_status acpi_tb_validate_rsdt(struct acpi_table_header *table_ptr) { - int no_match; - - - ACPI_FUNCTION_NAME ("tb_validate_rsdt"); + int no_match; + ACPI_FUNCTION_NAME("tb_validate_rsdt"); /* * Search for appropriate signature, RSDT or XSDT */ if (acpi_gbl_root_table_type == ACPI_TABLE_TYPE_RSDT) { - no_match = ACPI_STRNCMP ((char *) table_ptr, RSDT_SIG, - sizeof (RSDT_SIG) -1); - } - else { - no_match = ACPI_STRNCMP ((char *) table_ptr, XSDT_SIG, - sizeof (XSDT_SIG) -1); + no_match = ACPI_STRNCMP((char *)table_ptr, RSDT_SIG, + sizeof(RSDT_SIG) - 1); + } else { + no_match = ACPI_STRNCMP((char *)table_ptr, XSDT_SIG, + sizeof(XSDT_SIG) - 1); } if (no_match) { /* Invalid RSDT or XSDT signature */ - ACPI_REPORT_ERROR (( - "Invalid signature where RSDP indicates RSDT/XSDT should be located\n")); + ACPI_REPORT_ERROR(("Invalid signature where RSDP indicates RSDT/XSDT should be located\n")); - ACPI_DUMP_BUFFER (acpi_gbl_RSDP, 20); + ACPI_DUMP_BUFFER(acpi_gbl_RSDP, 20); - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_ERROR, - "RSDT/XSDT signature at %X (%p) is invalid\n", - acpi_gbl_RSDP->rsdt_physical_address, - (void *) (acpi_native_uint) acpi_gbl_RSDP->rsdt_physical_address)); + ACPI_DEBUG_PRINT_RAW((ACPI_DB_ERROR, + "RSDT/XSDT signature at %X (%p) is invalid\n", + acpi_gbl_RSDP->rsdt_physical_address, + (void *)(acpi_native_uint) acpi_gbl_RSDP-> + rsdt_physical_address)); if (acpi_gbl_root_table_type == ACPI_TABLE_TYPE_RSDT) { - ACPI_REPORT_ERROR (("Looking for RSDT\n")) - } - else { - ACPI_REPORT_ERROR (("Looking for XSDT\n")) + ACPI_REPORT_ERROR(("Looking for RSDT\n")) + } else { + ACPI_REPORT_ERROR(("Looking for XSDT\n")) } - ACPI_DUMP_BUFFER ((char *) table_ptr, 48); + ACPI_DUMP_BUFFER((char *)table_ptr, 48); return (AE_BAD_SIGNATURE); } @@ -234,7 +216,6 @@ acpi_tb_validate_rsdt ( return (AE_OK); } - /******************************************************************************* * * FUNCTION: acpi_tb_get_table_rsdt @@ -247,66 +228,61 @@ acpi_tb_validate_rsdt ( * ******************************************************************************/ -acpi_status -acpi_tb_get_table_rsdt ( - void) +acpi_status acpi_tb_get_table_rsdt(void) { - struct acpi_table_desc table_info; - acpi_status status; - struct acpi_pointer address; - - - ACPI_FUNCTION_TRACE ("tb_get_table_rsdt"); + struct acpi_table_desc table_info; + acpi_status status; + struct acpi_pointer address; + ACPI_FUNCTION_TRACE("tb_get_table_rsdt"); /* Get the RSDT/XSDT via the RSDP */ - acpi_tb_get_rsdt_address (&address); + acpi_tb_get_rsdt_address(&address); table_info.type = ACPI_TABLE_XSDT; - status = acpi_tb_get_table (&address, &table_info); - if (ACPI_FAILURE (status)) { - ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Could not get the RSDT/XSDT, %s\n", - acpi_format_exception (status))); + status = acpi_tb_get_table(&address, &table_info); + if (ACPI_FAILURE(status)) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, + "Could not get the RSDT/XSDT, %s\n", + acpi_format_exception(status))); - return_ACPI_STATUS (status); + return_ACPI_STATUS(status); } - ACPI_DEBUG_PRINT ((ACPI_DB_INFO, - "RSDP located at %p, points to RSDT physical=%8.8X%8.8X \n", - acpi_gbl_RSDP, - ACPI_FORMAT_UINT64 (address.pointer.value))); + ACPI_DEBUG_PRINT((ACPI_DB_INFO, + "RSDP located at %p, points to RSDT physical=%8.8X%8.8X \n", + acpi_gbl_RSDP, + ACPI_FORMAT_UINT64(address.pointer.value))); /* Check the RSDT or XSDT signature */ - status = acpi_tb_validate_rsdt (table_info.pointer); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_validate_rsdt(table_info.pointer); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Get the number of tables defined in the RSDT or XSDT */ - acpi_gbl_rsdt_table_count = acpi_tb_get_table_count (acpi_gbl_RSDP, - table_info.pointer); + acpi_gbl_rsdt_table_count = acpi_tb_get_table_count(acpi_gbl_RSDP, + table_info.pointer); /* Convert and/or copy to an XSDT structure */ - status = acpi_tb_convert_to_xsdt (&table_info); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_convert_to_xsdt(&table_info); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Save the table pointers and allocation info */ - status = acpi_tb_init_table_descriptor (ACPI_TABLE_XSDT, &table_info); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_init_table_descriptor(ACPI_TABLE_XSDT, &table_info); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } - acpi_gbl_XSDT = ACPI_CAST_PTR (XSDT_DESCRIPTOR, table_info.pointer); + acpi_gbl_XSDT = ACPI_CAST_PTR(XSDT_DESCRIPTOR, table_info.pointer); - ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "XSDT located at %p\n", acpi_gbl_XSDT)); - return_ACPI_STATUS (status); + ACPI_DEBUG_PRINT((ACPI_DB_INFO, "XSDT located at %p\n", acpi_gbl_XSDT)); + return_ACPI_STATUS(status); } - - diff --git a/drivers/acpi/tables/tbutils.c b/drivers/acpi/tables/tbutils.c index 6fc1e36e6042..5bcafebb9ddf 100644 --- a/drivers/acpi/tables/tbutils.c +++ b/drivers/acpi/tables/tbutils.c @@ -41,24 +41,18 @@ * POSSIBILITY OF SUCH DAMAGES. */ - #include <acpi/acpi.h> #include <acpi/actables.h> - #define _COMPONENT ACPI_TABLES - ACPI_MODULE_NAME ("tbutils") +ACPI_MODULE_NAME("tbutils") /* Local prototypes */ - #ifdef ACPI_OBSOLETE_FUNCTIONS acpi_status -acpi_tb_handle_to_object ( - u16 table_id, - struct acpi_table_desc **table_desc); +acpi_tb_handle_to_object(u16 table_id, struct acpi_table_desc **table_desc); #endif - /******************************************************************************* * * FUNCTION: acpi_tb_is_table_installed @@ -73,15 +67,11 @@ acpi_tb_handle_to_object ( * ******************************************************************************/ -acpi_status -acpi_tb_is_table_installed ( - struct acpi_table_desc *new_table_desc) +acpi_status acpi_tb_is_table_installed(struct acpi_table_desc *new_table_desc) { - struct acpi_table_desc *table_desc; - - - ACPI_FUNCTION_TRACE ("tb_is_table_installed"); + struct acpi_table_desc *table_desc; + ACPI_FUNCTION_TRACE("tb_is_table_installed"); /* Get the list descriptor and first table descriptor */ @@ -93,22 +83,23 @@ acpi_tb_is_table_installed ( /* Compare Revision and oem_table_id */ if ((table_desc->loaded_into_namespace) && - (table_desc->pointer->revision == - new_table_desc->pointer->revision) && - (!ACPI_MEMCMP (table_desc->pointer->oem_table_id, - new_table_desc->pointer->oem_table_id, 8))) { + (table_desc->pointer->revision == + new_table_desc->pointer->revision) && + (!ACPI_MEMCMP(table_desc->pointer->oem_table_id, + new_table_desc->pointer->oem_table_id, 8))) { /* This table is already installed */ - ACPI_DEBUG_PRINT ((ACPI_DB_TABLES, - "Table [%4.4s] already installed: Rev %X oem_table_id [%8.8s]\n", - new_table_desc->pointer->signature, - new_table_desc->pointer->revision, - new_table_desc->pointer->oem_table_id)); + ACPI_DEBUG_PRINT((ACPI_DB_TABLES, + "Table [%4.4s] already installed: Rev %X oem_table_id [%8.8s]\n", + new_table_desc->pointer->signature, + new_table_desc->pointer->revision, + new_table_desc->pointer-> + oem_table_id)); - new_table_desc->owner_id = table_desc->owner_id; + new_table_desc->owner_id = table_desc->owner_id; new_table_desc->installed_desc = table_desc; - return_ACPI_STATUS (AE_ALREADY_EXISTS); + return_ACPI_STATUS(AE_ALREADY_EXISTS); } /* Get next table on the list */ @@ -116,10 +107,9 @@ acpi_tb_is_table_installed ( table_desc = table_desc->next; } - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS(AE_OK); } - /******************************************************************************* * * FUNCTION: acpi_tb_validate_table_header @@ -141,57 +131,55 @@ acpi_tb_is_table_installed ( ******************************************************************************/ acpi_status -acpi_tb_validate_table_header ( - struct acpi_table_header *table_header) +acpi_tb_validate_table_header(struct acpi_table_header *table_header) { - acpi_name signature; - - - ACPI_FUNCTION_NAME ("tb_validate_table_header"); + acpi_name signature; + ACPI_FUNCTION_NAME("tb_validate_table_header"); /* Verify that this is a valid address */ - if (!acpi_os_readable (table_header, sizeof (struct acpi_table_header))) { - ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, - "Cannot read table header at %p\n", table_header)); + if (!acpi_os_readable(table_header, sizeof(struct acpi_table_header))) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, + "Cannot read table header at %p\n", + table_header)); return (AE_BAD_ADDRESS); } /* Ensure that the signature is 4 ASCII characters */ - ACPI_MOVE_32_TO_32 (&signature, table_header->signature); - if (!acpi_ut_valid_acpi_name (signature)) { - ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, - "Table signature at %p [%p] has invalid characters\n", - table_header, &signature)); + ACPI_MOVE_32_TO_32(&signature, table_header->signature); + if (!acpi_ut_valid_acpi_name(signature)) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, + "Table signature at %p [%p] has invalid characters\n", + table_header, &signature)); - ACPI_REPORT_WARNING (("Invalid table signature found: [%4.4s]\n", - (char *) &signature)); + ACPI_REPORT_WARNING(("Invalid table signature found: [%4.4s]\n", + (char *)&signature)); - ACPI_DUMP_BUFFER (table_header, sizeof (struct acpi_table_header)); + ACPI_DUMP_BUFFER(table_header, + sizeof(struct acpi_table_header)); return (AE_BAD_SIGNATURE); } /* Validate the table length */ - if (table_header->length < sizeof (struct acpi_table_header)) { - ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, - "Invalid length in table header %p name %4.4s\n", - table_header, (char *) &signature)); + if (table_header->length < sizeof(struct acpi_table_header)) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, + "Invalid length in table header %p name %4.4s\n", + table_header, (char *)&signature)); - ACPI_REPORT_WARNING (("Invalid table header length (0x%X) found\n", - (u32) table_header->length)); + ACPI_REPORT_WARNING(("Invalid table header length (0x%X) found\n", (u32) table_header->length)); - ACPI_DUMP_BUFFER (table_header, sizeof (struct acpi_table_header)); + ACPI_DUMP_BUFFER(table_header, + sizeof(struct acpi_table_header)); return (AE_BAD_HEADER); } return (AE_OK); } - /******************************************************************************* * * FUNCTION: acpi_tb_verify_table_checksum @@ -206,34 +194,28 @@ acpi_tb_validate_table_header ( ******************************************************************************/ acpi_status -acpi_tb_verify_table_checksum ( - struct acpi_table_header *table_header) +acpi_tb_verify_table_checksum(struct acpi_table_header * table_header) { - u8 checksum; - acpi_status status = AE_OK; - - - ACPI_FUNCTION_TRACE ("tb_verify_table_checksum"); + u8 checksum; + acpi_status status = AE_OK; + ACPI_FUNCTION_TRACE("tb_verify_table_checksum"); /* Compute the checksum on the table */ - checksum = acpi_tb_generate_checksum (table_header, table_header->length); + checksum = + acpi_tb_generate_checksum(table_header, table_header->length); /* Return the appropriate exception */ if (checksum) { - ACPI_REPORT_WARNING (( - "Invalid checksum in table [%4.4s] (%02X, sum %02X is not zero)\n", - table_header->signature, (u32) table_header->checksum, - (u32) checksum)); + ACPI_REPORT_WARNING(("Invalid checksum in table [%4.4s] (%02X, sum %02X is not zero)\n", table_header->signature, (u32) table_header->checksum, (u32) checksum)); status = AE_BAD_CHECKSUM; } - return_ACPI_STATUS (status); + return_ACPI_STATUS(status); } - /******************************************************************************* * * FUNCTION: acpi_tb_generate_checksum @@ -247,15 +229,11 @@ acpi_tb_verify_table_checksum ( * ******************************************************************************/ -u8 -acpi_tb_generate_checksum ( - void *buffer, - u32 length) +u8 acpi_tb_generate_checksum(void *buffer, u32 length) { - const u8 *limit; - const u8 *rover; - u8 sum = 0; - + const u8 *limit; + const u8 *rover; + u8 sum = 0; if (buffer && length) { /* Buffer and Length are valid */ @@ -269,7 +247,6 @@ acpi_tb_generate_checksum ( return (sum); } - #ifdef ACPI_OBSOLETE_FUNCTIONS /******************************************************************************* * @@ -285,16 +262,13 @@ acpi_tb_generate_checksum ( ******************************************************************************/ acpi_status -acpi_tb_handle_to_object ( - u16 table_id, - struct acpi_table_desc **return_table_desc) +acpi_tb_handle_to_object(u16 table_id, + struct acpi_table_desc ** return_table_desc) { - u32 i; - struct acpi_table_desc *table_desc; - - - ACPI_FUNCTION_NAME ("tb_handle_to_object"); + u32 i; + struct acpi_table_desc *table_desc; + ACPI_FUNCTION_NAME("tb_handle_to_object"); for (i = 0; i < ACPI_TABLE_MAX; i++) { table_desc = acpi_gbl_table_lists[i].next; @@ -308,9 +282,8 @@ acpi_tb_handle_to_object ( } } - ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "table_id=%X does not exist\n", table_id)); + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "table_id=%X does not exist\n", + table_id)); return (AE_BAD_PARAMETER); } #endif - - diff --git a/drivers/acpi/tables/tbxface.c b/drivers/acpi/tables/tbxface.c index e18a05d1b9b3..3f96a4909aad 100644 --- a/drivers/acpi/tables/tbxface.c +++ b/drivers/acpi/tables/tbxface.c @@ -48,10 +48,8 @@ #include <acpi/acnamesp.h> #include <acpi/actables.h> - #define _COMPONENT ACPI_TABLES - ACPI_MODULE_NAME ("tbxface") - +ACPI_MODULE_NAME("tbxface") /******************************************************************************* * @@ -65,25 +63,20 @@ * provided RSDT * ******************************************************************************/ - -acpi_status -acpi_load_tables ( - void) +acpi_status acpi_load_tables(void) { - struct acpi_pointer rsdp_address; - acpi_status status; - - - ACPI_FUNCTION_TRACE ("acpi_load_tables"); + struct acpi_pointer rsdp_address; + acpi_status status; + ACPI_FUNCTION_TRACE("acpi_load_tables"); /* Get the RSDP */ - status = acpi_os_get_root_pointer (ACPI_LOGICAL_ADDRESSING, - &rsdp_address); - if (ACPI_FAILURE (status)) { - ACPI_REPORT_ERROR (("acpi_load_tables: Could not get RSDP, %s\n", - acpi_format_exception (status))); + status = acpi_os_get_root_pointer(ACPI_LOGICAL_ADDRESSING, + &rsdp_address); + if (ACPI_FAILURE(status)) { + ACPI_REPORT_ERROR(("acpi_load_tables: Could not get RSDP, %s\n", + acpi_format_exception(status))); goto error_exit; } @@ -91,54 +84,47 @@ acpi_load_tables ( acpi_gbl_table_flags = rsdp_address.pointer_type; - status = acpi_tb_verify_rsdp (&rsdp_address); - if (ACPI_FAILURE (status)) { - ACPI_REPORT_ERROR (("acpi_load_tables: RSDP Failed validation: %s\n", - acpi_format_exception (status))); + status = acpi_tb_verify_rsdp(&rsdp_address); + if (ACPI_FAILURE(status)) { + ACPI_REPORT_ERROR(("acpi_load_tables: RSDP Failed validation: %s\n", acpi_format_exception(status))); goto error_exit; } /* Get the RSDT via the RSDP */ - status = acpi_tb_get_table_rsdt (); - if (ACPI_FAILURE (status)) { - ACPI_REPORT_ERROR (("acpi_load_tables: Could not load RSDT: %s\n", - acpi_format_exception (status))); + status = acpi_tb_get_table_rsdt(); + if (ACPI_FAILURE(status)) { + ACPI_REPORT_ERROR(("acpi_load_tables: Could not load RSDT: %s\n", acpi_format_exception(status))); goto error_exit; } /* Now get the tables needed by this subsystem (FADT, DSDT, etc.) */ - status = acpi_tb_get_required_tables (); - if (ACPI_FAILURE (status)) { - ACPI_REPORT_ERROR (( - "acpi_load_tables: Error getting required tables (DSDT/FADT/FACS): %s\n", - acpi_format_exception (status))); + status = acpi_tb_get_required_tables(); + if (ACPI_FAILURE(status)) { + ACPI_REPORT_ERROR(("acpi_load_tables: Error getting required tables (DSDT/FADT/FACS): %s\n", acpi_format_exception(status))); goto error_exit; } - ACPI_DEBUG_PRINT ((ACPI_DB_INIT, "ACPI Tables successfully acquired\n")); + ACPI_DEBUG_PRINT((ACPI_DB_INIT, "ACPI Tables successfully acquired\n")); /* Load the namespace from the tables */ - status = acpi_ns_load_namespace (); - if (ACPI_FAILURE (status)) { - ACPI_REPORT_ERROR (("acpi_load_tables: Could not load namespace: %s\n", - acpi_format_exception (status))); + status = acpi_ns_load_namespace(); + if (ACPI_FAILURE(status)) { + ACPI_REPORT_ERROR(("acpi_load_tables: Could not load namespace: %s\n", acpi_format_exception(status))); goto error_exit; } - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS(AE_OK); + error_exit: + ACPI_REPORT_ERROR(("acpi_load_tables: Could not load tables: %s\n", + acpi_format_exception(status))); -error_exit: - ACPI_REPORT_ERROR (("acpi_load_tables: Could not load tables: %s\n", - acpi_format_exception (status))); - - return_ACPI_STATUS (status); + return_ACPI_STATUS(status); } - #ifdef ACPI_FUTURE_USAGE /******************************************************************************* * @@ -156,43 +142,39 @@ error_exit: * ******************************************************************************/ -acpi_status -acpi_load_table ( - struct acpi_table_header *table_ptr) +acpi_status acpi_load_table(struct acpi_table_header *table_ptr) { - acpi_status status; - struct acpi_table_desc table_info; - struct acpi_pointer address; - - - ACPI_FUNCTION_TRACE ("acpi_load_table"); + acpi_status status; + struct acpi_table_desc table_info; + struct acpi_pointer address; + ACPI_FUNCTION_TRACE("acpi_load_table"); if (!table_ptr) { - return_ACPI_STATUS (AE_BAD_PARAMETER); + return_ACPI_STATUS(AE_BAD_PARAMETER); } /* Copy the table to a local buffer */ - address.pointer_type = ACPI_LOGICAL_POINTER | ACPI_LOGICAL_ADDRESSING; + address.pointer_type = ACPI_LOGICAL_POINTER | ACPI_LOGICAL_ADDRESSING; address.pointer.logical = table_ptr; - status = acpi_tb_get_table_body (&address, table_ptr, &table_info); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_get_table_body(&address, table_ptr, &table_info); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Check signature for a valid table type */ - status = acpi_tb_recognize_table (&table_info, ACPI_TABLE_ALL); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_recognize_table(&table_info, ACPI_TABLE_ALL); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Install the new table into the local data structures */ - status = acpi_tb_install_table (&table_info); - if (ACPI_FAILURE (status)) { + status = acpi_tb_install_table(&table_info); + if (ACPI_FAILURE(status)) { if (status == AE_ALREADY_EXISTS) { /* Table already exists, no error */ @@ -201,8 +183,8 @@ acpi_load_table ( /* Free table allocated by acpi_tb_get_table_body */ - acpi_tb_delete_single_table (&table_info); - return_ACPI_STATUS (status); + acpi_tb_delete_single_table(&table_info); + return_ACPI_STATUS(status); } /* Convert the table to common format if necessary */ @@ -210,31 +192,32 @@ acpi_load_table ( switch (table_info.type) { case ACPI_TABLE_FADT: - status = acpi_tb_convert_table_fadt (); + status = acpi_tb_convert_table_fadt(); break; case ACPI_TABLE_FACS: - status = acpi_tb_build_common_facs (&table_info); + status = acpi_tb_build_common_facs(&table_info); break; default: /* Load table into namespace if it contains executable AML */ - status = acpi_ns_load_table (table_info.installed_desc, acpi_gbl_root_node); + status = + acpi_ns_load_table(table_info.installed_desc, + acpi_gbl_root_node); break; } - if (ACPI_FAILURE (status)) { + if (ACPI_FAILURE(status)) { /* Uninstall table and free the buffer */ - (void) acpi_tb_uninstall_table (table_info.installed_desc); + (void)acpi_tb_uninstall_table(table_info.installed_desc); } - return_ACPI_STATUS (status); + return_ACPI_STATUS(status); } - /******************************************************************************* * * FUNCTION: acpi_unload_table @@ -247,20 +230,16 @@ acpi_load_table ( * ******************************************************************************/ -acpi_status -acpi_unload_table ( - acpi_table_type table_type) +acpi_status acpi_unload_table(acpi_table_type table_type) { - struct acpi_table_desc *table_desc; - - - ACPI_FUNCTION_TRACE ("acpi_unload_table"); + struct acpi_table_desc *table_desc; + ACPI_FUNCTION_TRACE("acpi_unload_table"); /* Parameter validation */ if (table_type > ACPI_TABLE_MAX) { - return_ACPI_STATUS (AE_BAD_PARAMETER); + return_ACPI_STATUS(AE_BAD_PARAMETER); } /* Find all tables of the requested type */ @@ -273,18 +252,17 @@ acpi_unload_table ( * "Scope" operator. Thus, we need to track ownership by an ID, not * simply a position within the hierarchy */ - acpi_ns_delete_namespace_by_owner (table_desc->owner_id); - acpi_ut_release_owner_id (&table_desc->owner_id); + acpi_ns_delete_namespace_by_owner(table_desc->owner_id); + acpi_ut_release_owner_id(&table_desc->owner_id); table_desc = table_desc->next; } /* Delete (or unmap) all tables of this type */ - acpi_tb_delete_tables_by_type (table_type); - return_ACPI_STATUS (AE_OK); + acpi_tb_delete_tables_by_type(table_type); + return_ACPI_STATUS(AE_OK); } - /******************************************************************************* * * FUNCTION: acpi_get_table_header @@ -307,54 +285,49 @@ acpi_unload_table ( ******************************************************************************/ acpi_status -acpi_get_table_header ( - acpi_table_type table_type, - u32 instance, - struct acpi_table_header *out_table_header) +acpi_get_table_header(acpi_table_type table_type, + u32 instance, struct acpi_table_header *out_table_header) { - struct acpi_table_header *tbl_ptr; - acpi_status status; - - - ACPI_FUNCTION_TRACE ("acpi_get_table_header"); + struct acpi_table_header *tbl_ptr; + acpi_status status; + ACPI_FUNCTION_TRACE("acpi_get_table_header"); - if ((instance == 0) || - (table_type == ACPI_TABLE_RSDP) || - (!out_table_header)) { - return_ACPI_STATUS (AE_BAD_PARAMETER); + if ((instance == 0) || + (table_type == ACPI_TABLE_RSDP) || (!out_table_header)) { + return_ACPI_STATUS(AE_BAD_PARAMETER); } /* Check the table type and instance */ - if ((table_type > ACPI_TABLE_MAX) || - (ACPI_IS_SINGLE_TABLE (acpi_gbl_table_data[table_type].flags) && - instance > 1)) { - return_ACPI_STATUS (AE_BAD_PARAMETER); + if ((table_type > ACPI_TABLE_MAX) || + (ACPI_IS_SINGLE_TABLE(acpi_gbl_table_data[table_type].flags) && + instance > 1)) { + return_ACPI_STATUS(AE_BAD_PARAMETER); } /* Get a pointer to the entire table */ - status = acpi_tb_get_table_ptr (table_type, instance, &tbl_ptr); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_get_table_ptr(table_type, instance, &tbl_ptr); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* The function will return a NULL pointer if the table is not loaded */ if (tbl_ptr == NULL) { - return_ACPI_STATUS (AE_NOT_EXIST); + return_ACPI_STATUS(AE_NOT_EXIST); } /* Copy the header to the caller's buffer */ - ACPI_MEMCPY ((void *) out_table_header, (void *) tbl_ptr, - sizeof (struct acpi_table_header)); + ACPI_MEMCPY((void *)out_table_header, (void *)tbl_ptr, + sizeof(struct acpi_table_header)); - return_ACPI_STATUS (status); + return_ACPI_STATUS(status); } -#endif /* ACPI_FUTURE_USAGE */ +#endif /* ACPI_FUTURE_USAGE */ /******************************************************************************* * @@ -380,43 +353,39 @@ acpi_get_table_header ( ******************************************************************************/ acpi_status -acpi_get_table ( - acpi_table_type table_type, - u32 instance, - struct acpi_buffer *ret_buffer) +acpi_get_table(acpi_table_type table_type, + u32 instance, struct acpi_buffer *ret_buffer) { - struct acpi_table_header *tbl_ptr; - acpi_status status; - acpi_size table_length; - - - ACPI_FUNCTION_TRACE ("acpi_get_table"); + struct acpi_table_header *tbl_ptr; + acpi_status status; + acpi_size table_length; + ACPI_FUNCTION_TRACE("acpi_get_table"); /* Parameter validation */ if (instance == 0) { - return_ACPI_STATUS (AE_BAD_PARAMETER); + return_ACPI_STATUS(AE_BAD_PARAMETER); } - status = acpi_ut_validate_buffer (ret_buffer); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_ut_validate_buffer(ret_buffer); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Check the table type and instance */ - if ((table_type > ACPI_TABLE_MAX) || - (ACPI_IS_SINGLE_TABLE (acpi_gbl_table_data[table_type].flags) && - instance > 1)) { - return_ACPI_STATUS (AE_BAD_PARAMETER); + if ((table_type > ACPI_TABLE_MAX) || + (ACPI_IS_SINGLE_TABLE(acpi_gbl_table_data[table_type].flags) && + instance > 1)) { + return_ACPI_STATUS(AE_BAD_PARAMETER); } /* Get a pointer to the entire table */ - status = acpi_tb_get_table_ptr (table_type, instance, &tbl_ptr); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_get_table_ptr(table_type, instance, &tbl_ptr); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* @@ -424,7 +393,7 @@ acpi_get_table ( * table is not loaded. */ if (tbl_ptr == NULL) { - return_ACPI_STATUS (AE_NOT_EXIST); + return_ACPI_STATUS(AE_NOT_EXIST); } /* Get the table length */ @@ -432,23 +401,22 @@ acpi_get_table ( if (table_type == ACPI_TABLE_RSDP) { /* RSD PTR is the only "table" without a header */ - table_length = sizeof (struct rsdp_descriptor); - } - else { + table_length = sizeof(struct rsdp_descriptor); + } else { table_length = (acpi_size) tbl_ptr->length; } /* Validate/Allocate/Clear caller buffer */ - status = acpi_ut_initialize_buffer (ret_buffer, table_length); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_ut_initialize_buffer(ret_buffer, table_length); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } /* Copy the table to the buffer */ - ACPI_MEMCPY ((void *) ret_buffer->pointer, (void *) tbl_ptr, table_length); - return_ACPI_STATUS (AE_OK); + ACPI_MEMCPY((void *)ret_buffer->pointer, (void *)tbl_ptr, table_length); + return_ACPI_STATUS(AE_OK); } -EXPORT_SYMBOL(acpi_get_table); +EXPORT_SYMBOL(acpi_get_table); diff --git a/drivers/acpi/tables/tbxfroot.c b/drivers/acpi/tables/tbxfroot.c index 87dccdda9ae2..3b8a7e063e8a 100644 --- a/drivers/acpi/tables/tbxfroot.c +++ b/drivers/acpi/tables/tbxfroot.c @@ -46,22 +46,14 @@ #include <acpi/acpi.h> #include <acpi/actables.h> - #define _COMPONENT ACPI_TABLES - ACPI_MODULE_NAME ("tbxfroot") +ACPI_MODULE_NAME("tbxfroot") /* Local prototypes */ - static acpi_status -acpi_tb_find_rsdp ( - struct acpi_table_desc *table_info, - u32 flags); - -static u8 * -acpi_tb_scan_memory_for_rsdp ( - u8 *start_address, - u32 length); +acpi_tb_find_rsdp(struct acpi_table_desc *table_info, u32 flags); +static u8 *acpi_tb_scan_memory_for_rsdp(u8 * start_address, u32 length); /******************************************************************************* * @@ -75,17 +67,14 @@ acpi_tb_scan_memory_for_rsdp ( * ******************************************************************************/ -acpi_status -acpi_tb_validate_rsdp ( - struct rsdp_descriptor *rsdp) +acpi_status acpi_tb_validate_rsdp(struct rsdp_descriptor *rsdp) { - ACPI_FUNCTION_ENTRY (); - + ACPI_FUNCTION_ENTRY(); /* * The signature and checksum must both be correct */ - if (ACPI_STRNCMP ((char *) rsdp, RSDP_SIG, sizeof (RSDP_SIG)-1) != 0) { + if (ACPI_STRNCMP((char *)rsdp, RSDP_SIG, sizeof(RSDP_SIG) - 1) != 0) { /* Nope, BAD Signature */ return (AE_BAD_SIGNATURE); @@ -93,21 +82,21 @@ acpi_tb_validate_rsdp ( /* Check the standard checksum */ - if (acpi_tb_generate_checksum (rsdp, ACPI_RSDP_CHECKSUM_LENGTH) != 0) { + if (acpi_tb_generate_checksum(rsdp, ACPI_RSDP_CHECKSUM_LENGTH) != 0) { return (AE_BAD_CHECKSUM); } /* Check extended checksum if table version >= 2 */ if ((rsdp->revision >= 2) && - (acpi_tb_generate_checksum (rsdp, ACPI_RSDP_XCHECKSUM_LENGTH) != 0)) { + (acpi_tb_generate_checksum(rsdp, ACPI_RSDP_XCHECKSUM_LENGTH) != + 0)) { return (AE_BAD_CHECKSUM); } return (AE_OK); } - /******************************************************************************* * * FUNCTION: acpi_tb_find_table @@ -125,28 +114,24 @@ acpi_tb_validate_rsdp ( ******************************************************************************/ acpi_status -acpi_tb_find_table ( - char *signature, - char *oem_id, - char *oem_table_id, - struct acpi_table_header **table_ptr) +acpi_tb_find_table(char *signature, + char *oem_id, + char *oem_table_id, struct acpi_table_header ** table_ptr) { - acpi_status status; - struct acpi_table_header *table; - - - ACPI_FUNCTION_TRACE ("tb_find_table"); + acpi_status status; + struct acpi_table_header *table; + ACPI_FUNCTION_TRACE("tb_find_table"); /* Validate string lengths */ - if ((ACPI_STRLEN (signature) > ACPI_NAME_SIZE) || - (ACPI_STRLEN (oem_id) > sizeof (table->oem_id)) || - (ACPI_STRLEN (oem_table_id) > sizeof (table->oem_table_id))) { - return_ACPI_STATUS (AE_AML_STRING_LIMIT); + if ((ACPI_STRLEN(signature) > ACPI_NAME_SIZE) || + (ACPI_STRLEN(oem_id) > sizeof(table->oem_id)) || + (ACPI_STRLEN(oem_table_id) > sizeof(table->oem_table_id))) { + return_ACPI_STATUS(AE_AML_STRING_LIMIT); } - if (!ACPI_STRNCMP (signature, DSDT_SIG, ACPI_NAME_SIZE)) { + if (!ACPI_STRNCMP(signature, DSDT_SIG, ACPI_NAME_SIZE)) { /* * The DSDT pointer is contained in the FADT, not the RSDT. * This code should suffice, because the only code that would perform @@ -155,40 +140,36 @@ acpi_tb_find_table ( * If this becomes insufficient, the FADT will have to be found first. */ if (!acpi_gbl_DSDT) { - return_ACPI_STATUS (AE_NO_ACPI_TABLES); + return_ACPI_STATUS(AE_NO_ACPI_TABLES); } table = acpi_gbl_DSDT; - } - else { + } else { /* Find the table */ - status = acpi_get_firmware_table (signature, 1, - ACPI_LOGICAL_ADDRESSING, &table); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_get_firmware_table(signature, 1, + ACPI_LOGICAL_ADDRESSING, + &table); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } } /* Check oem_id and oem_table_id */ - if ((oem_id[0] && ACPI_STRNCMP ( - oem_id, table->oem_id, - sizeof (table->oem_id))) || - - (oem_table_id[0] && ACPI_STRNCMP ( - oem_table_id, table->oem_table_id, - sizeof (table->oem_table_id)))) { - return_ACPI_STATUS (AE_AML_NAME_NOT_FOUND); + if ((oem_id[0] && ACPI_STRNCMP(oem_id, table->oem_id, + sizeof(table->oem_id))) || + (oem_table_id[0] && ACPI_STRNCMP(oem_table_id, table->oem_table_id, + sizeof(table->oem_table_id)))) { + return_ACPI_STATUS(AE_AML_NAME_NOT_FOUND); } - ACPI_DEBUG_PRINT ((ACPI_DB_TABLES, "Found table [%4.4s]\n", - table->signature)); + ACPI_DEBUG_PRINT((ACPI_DB_TABLES, "Found table [%4.4s]\n", + table->signature)); *table_ptr = table; - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS(AE_OK); } - /******************************************************************************* * * FUNCTION: acpi_get_firmware_table @@ -209,34 +190,28 @@ acpi_tb_find_table ( ******************************************************************************/ acpi_status -acpi_get_firmware_table ( - acpi_string signature, - u32 instance, - u32 flags, - struct acpi_table_header **table_pointer) +acpi_get_firmware_table(acpi_string signature, + u32 instance, + u32 flags, struct acpi_table_header **table_pointer) { - acpi_status status; - struct acpi_pointer address; - struct acpi_table_header *header = NULL; - struct acpi_table_desc *table_info = NULL; - struct acpi_table_desc *rsdt_info; - u32 table_count; - u32 i; - u32 j; - - - ACPI_FUNCTION_TRACE ("acpi_get_firmware_table"); + acpi_status status; + struct acpi_pointer address; + struct acpi_table_header *header = NULL; + struct acpi_table_desc *table_info = NULL; + struct acpi_table_desc *rsdt_info; + u32 table_count; + u32 i; + u32 j; + ACPI_FUNCTION_TRACE("acpi_get_firmware_table"); /* * Ensure that at least the table manager is initialized. We don't * require that the entire ACPI subsystem is up for this interface. * If we have a buffer, we must have a length too */ - if ((instance == 0) || - (!signature) || - (!table_pointer)) { - return_ACPI_STATUS (AE_BAD_PARAMETER); + if ((instance == 0) || (!signature) || (!table_pointer)) { + return_ACPI_STATUS(AE_BAD_PARAMETER); } /* Ensure that we have a RSDP */ @@ -244,40 +219,41 @@ acpi_get_firmware_table ( if (!acpi_gbl_RSDP) { /* Get the RSDP */ - status = acpi_os_get_root_pointer (flags, &address); - if (ACPI_FAILURE (status)) { - ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "RSDP not found\n")); - return_ACPI_STATUS (AE_NO_ACPI_TABLES); + status = acpi_os_get_root_pointer(flags, &address); + if (ACPI_FAILURE(status)) { + ACPI_DEBUG_PRINT((ACPI_DB_INFO, "RSDP not found\n")); + return_ACPI_STATUS(AE_NO_ACPI_TABLES); } /* Map and validate the RSDP */ if ((flags & ACPI_MEMORY_MODE) == ACPI_LOGICAL_ADDRESSING) { - status = acpi_os_map_memory (address.pointer.physical, - sizeof (struct rsdp_descriptor), (void *) &acpi_gbl_RSDP); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_os_map_memory(address.pointer.physical, + sizeof(struct + rsdp_descriptor), + (void *)&acpi_gbl_RSDP); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } - } - else { + } else { acpi_gbl_RSDP = address.pointer.logical; } /* The RDSP signature and checksum must both be correct */ - status = acpi_tb_validate_rsdp (acpi_gbl_RSDP); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); + status = acpi_tb_validate_rsdp(acpi_gbl_RSDP); + if (ACPI_FAILURE(status)) { + return_ACPI_STATUS(status); } } /* Get the RSDT address via the RSDP */ - acpi_tb_get_rsdt_address (&address); - ACPI_DEBUG_PRINT ((ACPI_DB_INFO, - "RSDP located at %p, RSDT physical=%8.8X%8.8X \n", - acpi_gbl_RSDP, - ACPI_FORMAT_UINT64 (address.pointer.value))); + acpi_tb_get_rsdt_address(&address); + ACPI_DEBUG_PRINT((ACPI_DB_INFO, + "RSDP located at %p, RSDT physical=%8.8X%8.8X \n", + acpi_gbl_RSDP, + ACPI_FORMAT_UINT64(address.pointer.value))); /* Insert processor_mode flags */ @@ -285,30 +261,30 @@ acpi_get_firmware_table ( /* Get and validate the RSDT */ - rsdt_info = ACPI_MEM_CALLOCATE (sizeof (struct acpi_table_desc)); + rsdt_info = ACPI_MEM_CALLOCATE(sizeof(struct acpi_table_desc)); if (!rsdt_info) { - return_ACPI_STATUS (AE_NO_MEMORY); + return_ACPI_STATUS(AE_NO_MEMORY); } - status = acpi_tb_get_table (&address, rsdt_info); - if (ACPI_FAILURE (status)) { + status = acpi_tb_get_table(&address, rsdt_info); + if (ACPI_FAILURE(status)) { goto cleanup; } - status = acpi_tb_validate_rsdt (rsdt_info->pointer); - if (ACPI_FAILURE (status)) { + status = acpi_tb_validate_rsdt(rsdt_info->pointer); + if (ACPI_FAILURE(status)) { goto cleanup; } /* Allocate a scratch table header and table descriptor */ - header = ACPI_MEM_ALLOCATE (sizeof (struct acpi_table_header)); + header = ACPI_MEM_ALLOCATE(sizeof(struct acpi_table_header)); if (!header) { status = AE_NO_MEMORY; goto cleanup; } - table_info = ACPI_MEM_ALLOCATE (sizeof (struct acpi_table_desc)); + table_info = ACPI_MEM_ALLOCATE(sizeof(struct acpi_table_desc)); if (!table_info) { status = AE_NO_MEMORY; goto cleanup; @@ -316,7 +292,8 @@ acpi_get_firmware_table ( /* Get the number of table pointers within the RSDT */ - table_count = acpi_tb_get_table_count (acpi_gbl_RSDP, rsdt_info->pointer); + table_count = + acpi_tb_get_table_count(acpi_gbl_RSDP, rsdt_info->pointer); address.pointer_type = acpi_gbl_table_flags | flags; /* @@ -329,32 +306,37 @@ acpi_get_firmware_table ( * RSDT pointers are 32 bits, XSDT pointers are 64 bits */ if (acpi_gbl_root_table_type == ACPI_TABLE_TYPE_RSDT) { - address.pointer.value = (ACPI_CAST_PTR ( - RSDT_DESCRIPTOR, rsdt_info->pointer))->table_offset_entry[i]; - } - else { - address.pointer.value = (ACPI_CAST_PTR ( - XSDT_DESCRIPTOR, rsdt_info->pointer))->table_offset_entry[i]; + address.pointer.value = + (ACPI_CAST_PTR + (RSDT_DESCRIPTOR, + rsdt_info->pointer))->table_offset_entry[i]; + } else { + address.pointer.value = + (ACPI_CAST_PTR + (XSDT_DESCRIPTOR, + rsdt_info->pointer))->table_offset_entry[i]; } /* Get the table header */ - status = acpi_tb_get_table_header (&address, header); - if (ACPI_FAILURE (status)) { + status = acpi_tb_get_table_header(&address, header); + if (ACPI_FAILURE(status)) { goto cleanup; } /* Compare table signatures and table instance */ - if (!ACPI_STRNCMP (header->signature, signature, ACPI_NAME_SIZE)) { + if (!ACPI_STRNCMP(header->signature, signature, ACPI_NAME_SIZE)) { /* An instance of the table was found */ j++; if (j >= instance) { /* Found the correct instance, get the entire table */ - status = acpi_tb_get_table_body (&address, header, table_info); - if (ACPI_FAILURE (status)) { + status = + acpi_tb_get_table_body(&address, header, + table_info); + if (ACPI_FAILURE(status)) { goto cleanup; } @@ -368,24 +350,23 @@ acpi_get_firmware_table ( status = AE_NOT_EXIST; - -cleanup: + cleanup: if (rsdt_info->pointer) { - acpi_os_unmap_memory (rsdt_info->pointer, - (acpi_size) rsdt_info->pointer->length); + acpi_os_unmap_memory(rsdt_info->pointer, + (acpi_size) rsdt_info->pointer->length); } - ACPI_MEM_FREE (rsdt_info); + ACPI_MEM_FREE(rsdt_info); if (header) { - ACPI_MEM_FREE (header); + ACPI_MEM_FREE(header); } if (table_info) { - ACPI_MEM_FREE (table_info); + ACPI_MEM_FREE(table_info); } - return_ACPI_STATUS (status); + return_ACPI_STATUS(status); } -EXPORT_SYMBOL(acpi_get_firmware_table); +EXPORT_SYMBOL(acpi_get_firmware_table); /* TBD: Move to a new file */ @@ -404,35 +385,29 @@ EXPORT_SYMBOL(acpi_get_firmware_table); * ******************************************************************************/ -acpi_status -acpi_find_root_pointer ( - u32 flags, - struct acpi_pointer *rsdp_address) +acpi_status acpi_find_root_pointer(u32 flags, struct acpi_pointer *rsdp_address) { - struct acpi_table_desc table_info; - acpi_status status; - - - ACPI_FUNCTION_TRACE ("acpi_find_root_pointer"); + struct acpi_table_desc table_info; + acpi_status status; + ACPI_FUNCTION_TRACE("acpi_find_root_pointer"); /* Get the RSDP */ - status = acpi_tb_find_rsdp (&table_info, flags); - if (ACPI_FAILURE (status)) { - ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, - "RSDP structure not found, %s Flags=%X\n", - acpi_format_exception (status), flags)); + status = acpi_tb_find_rsdp(&table_info, flags); + if (ACPI_FAILURE(status)) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, + "RSDP structure not found, %s Flags=%X\n", + acpi_format_exception(status), flags)); - return_ACPI_STATUS (AE_NO_ACPI_TABLES); + return_ACPI_STATUS(AE_NO_ACPI_TABLES); } rsdp_address->pointer_type = ACPI_PHYSICAL_POINTER; rsdp_address->pointer.physical = table_info.physical_address; - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS(AE_OK); } - /******************************************************************************* * * FUNCTION: acpi_tb_scan_memory_for_rsdp @@ -446,34 +421,32 @@ acpi_find_root_pointer ( * ******************************************************************************/ -static u8 * -acpi_tb_scan_memory_for_rsdp ( - u8 *start_address, - u32 length) +static u8 *acpi_tb_scan_memory_for_rsdp(u8 * start_address, u32 length) { - acpi_status status; - u8 *mem_rover; - u8 *end_address; - - - ACPI_FUNCTION_TRACE ("tb_scan_memory_for_rsdp"); + acpi_status status; + u8 *mem_rover; + u8 *end_address; + ACPI_FUNCTION_TRACE("tb_scan_memory_for_rsdp"); end_address = start_address + length; /* Search from given start address for the requested length */ for (mem_rover = start_address; mem_rover < end_address; - mem_rover += ACPI_RSDP_SCAN_STEP) { + mem_rover += ACPI_RSDP_SCAN_STEP) { /* The RSDP signature and checksum must both be correct */ - status = acpi_tb_validate_rsdp (ACPI_CAST_PTR (struct rsdp_descriptor, mem_rover)); - if (ACPI_SUCCESS (status)) { + status = + acpi_tb_validate_rsdp(ACPI_CAST_PTR + (struct rsdp_descriptor, mem_rover)); + if (ACPI_SUCCESS(status)) { /* Sig and checksum valid, we have found a real RSDP */ - ACPI_DEBUG_PRINT ((ACPI_DB_INFO, - "RSDP located at physical address %p\n", mem_rover)); - return_PTR (mem_rover); + ACPI_DEBUG_PRINT((ACPI_DB_INFO, + "RSDP located at physical address %p\n", + mem_rover)); + return_PTR(mem_rover); } /* No sig match or bad checksum, keep searching */ @@ -481,13 +454,12 @@ acpi_tb_scan_memory_for_rsdp ( /* Searched entire block, no RSDP was found */ - ACPI_DEBUG_PRINT ((ACPI_DB_INFO, - "Searched entire block from %p, valid RSDP was not found\n", - start_address)); - return_PTR (NULL); + ACPI_DEBUG_PRINT((ACPI_DB_INFO, + "Searched entire block from %p, valid RSDP was not found\n", + start_address)); + return_PTR(NULL); } - /******************************************************************************* * * FUNCTION: acpi_tb_find_rsdp @@ -511,18 +483,14 @@ acpi_tb_scan_memory_for_rsdp ( ******************************************************************************/ static acpi_status -acpi_tb_find_rsdp ( - struct acpi_table_desc *table_info, - u32 flags) +acpi_tb_find_rsdp(struct acpi_table_desc *table_info, u32 flags) { - u8 *table_ptr; - u8 *mem_rover; - u32 physical_address; - acpi_status status; - - - ACPI_FUNCTION_TRACE ("tb_find_rsdp"); + u8 *table_ptr; + u8 *mem_rover; + u32 physical_address; + acpi_status status; + ACPI_FUNCTION_TRACE("tb_find_rsdp"); /* * Scan supports either logical addressing or physical addressing @@ -530,23 +498,25 @@ acpi_tb_find_rsdp ( if ((flags & ACPI_MEMORY_MODE) == ACPI_LOGICAL_ADDRESSING) { /* 1a) Get the location of the Extended BIOS Data Area (EBDA) */ - status = acpi_os_map_memory ( - (acpi_physical_address) ACPI_EBDA_PTR_LOCATION, - ACPI_EBDA_PTR_LENGTH, (void *) &table_ptr); - if (ACPI_FAILURE (status)) { - ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, - "Could not map memory at %8.8X for length %X\n", - ACPI_EBDA_PTR_LOCATION, ACPI_EBDA_PTR_LENGTH)); - - return_ACPI_STATUS (status); + status = acpi_os_map_memory((acpi_physical_address) + ACPI_EBDA_PTR_LOCATION, + ACPI_EBDA_PTR_LENGTH, + (void *)&table_ptr); + if (ACPI_FAILURE(status)) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, + "Could not map memory at %8.8X for length %X\n", + ACPI_EBDA_PTR_LOCATION, + ACPI_EBDA_PTR_LENGTH)); + + return_ACPI_STATUS(status); } - ACPI_MOVE_16_TO_32 (&physical_address, table_ptr); + ACPI_MOVE_16_TO_32(&physical_address, table_ptr); /* Convert segment part to physical address */ physical_address <<= 4; - acpi_os_unmap_memory (table_ptr, ACPI_EBDA_PTR_LENGTH); + acpi_os_unmap_memory(table_ptr, ACPI_EBDA_PTR_LENGTH); /* EBDA present? */ @@ -555,59 +525,67 @@ acpi_tb_find_rsdp ( * 1b) Search EBDA paragraphs (EBDa is required to be a * minimum of 1_k length) */ - status = acpi_os_map_memory ( - (acpi_physical_address) physical_address, - ACPI_EBDA_WINDOW_SIZE, (void *) &table_ptr); - if (ACPI_FAILURE (status)) { - ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, - "Could not map memory at %8.8X for length %X\n", - physical_address, ACPI_EBDA_WINDOW_SIZE)); - - return_ACPI_STATUS (status); + status = acpi_os_map_memory((acpi_physical_address) + physical_address, + ACPI_EBDA_WINDOW_SIZE, + (void *)&table_ptr); + if (ACPI_FAILURE(status)) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, + "Could not map memory at %8.8X for length %X\n", + physical_address, + ACPI_EBDA_WINDOW_SIZE)); + + return_ACPI_STATUS(status); } - mem_rover = acpi_tb_scan_memory_for_rsdp (table_ptr, - ACPI_EBDA_WINDOW_SIZE); - acpi_os_unmap_memory (table_ptr, ACPI_EBDA_WINDOW_SIZE); + mem_rover = acpi_tb_scan_memory_for_rsdp(table_ptr, + ACPI_EBDA_WINDOW_SIZE); + acpi_os_unmap_memory(table_ptr, ACPI_EBDA_WINDOW_SIZE); if (mem_rover) { /* Return the physical address */ - physical_address += ACPI_PTR_DIFF (mem_rover, table_ptr); + physical_address += + ACPI_PTR_DIFF(mem_rover, table_ptr); table_info->physical_address = - (acpi_physical_address) physical_address; - return_ACPI_STATUS (AE_OK); + (acpi_physical_address) physical_address; + return_ACPI_STATUS(AE_OK); } } /* * 2) Search upper memory: 16-byte boundaries in E0000h-FFFFFh */ - status = acpi_os_map_memory ( - (acpi_physical_address) ACPI_HI_RSDP_WINDOW_BASE, - ACPI_HI_RSDP_WINDOW_SIZE, (void *) &table_ptr); - - if (ACPI_FAILURE (status)) { - ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, - "Could not map memory at %8.8X for length %X\n", - ACPI_HI_RSDP_WINDOW_BASE, ACPI_HI_RSDP_WINDOW_SIZE)); - - return_ACPI_STATUS (status); + status = acpi_os_map_memory((acpi_physical_address) + ACPI_HI_RSDP_WINDOW_BASE, + ACPI_HI_RSDP_WINDOW_SIZE, + (void *)&table_ptr); + + if (ACPI_FAILURE(status)) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, + "Could not map memory at %8.8X for length %X\n", + ACPI_HI_RSDP_WINDOW_BASE, + ACPI_HI_RSDP_WINDOW_SIZE)); + + return_ACPI_STATUS(status); } - mem_rover = acpi_tb_scan_memory_for_rsdp (table_ptr, ACPI_HI_RSDP_WINDOW_SIZE); - acpi_os_unmap_memory (table_ptr, ACPI_HI_RSDP_WINDOW_SIZE); + mem_rover = + acpi_tb_scan_memory_for_rsdp(table_ptr, + ACPI_HI_RSDP_WINDOW_SIZE); + acpi_os_unmap_memory(table_ptr, ACPI_HI_RSDP_WINDOW_SIZE); if (mem_rover) { /* Return the physical address */ physical_address = - ACPI_HI_RSDP_WINDOW_BASE + ACPI_PTR_DIFF (mem_rover, table_ptr); + ACPI_HI_RSDP_WINDOW_BASE + ACPI_PTR_DIFF(mem_rover, + table_ptr); table_info->physical_address = - (acpi_physical_address) physical_address; - return_ACPI_STATUS (AE_OK); + (acpi_physical_address) physical_address; + return_ACPI_STATUS(AE_OK); } } @@ -617,8 +595,8 @@ acpi_tb_find_rsdp ( else { /* 1a) Get the location of the EBDA */ - ACPI_MOVE_16_TO_32 (&physical_address, ACPI_EBDA_PTR_LOCATION); - physical_address <<= 4; /* Convert segment to physical address */ + ACPI_MOVE_16_TO_32(&physical_address, ACPI_EBDA_PTR_LOCATION); + physical_address <<= 4; /* Convert segment to physical address */ /* EBDA present? */ @@ -627,35 +605,38 @@ acpi_tb_find_rsdp ( * 1b) Search EBDA paragraphs (EBDa is required to be a minimum of * 1_k length) */ - mem_rover = acpi_tb_scan_memory_for_rsdp ( - ACPI_PHYSADDR_TO_PTR (physical_address), - ACPI_EBDA_WINDOW_SIZE); + mem_rover = + acpi_tb_scan_memory_for_rsdp(ACPI_PHYSADDR_TO_PTR + (physical_address), + ACPI_EBDA_WINDOW_SIZE); if (mem_rover) { /* Return the physical address */ - table_info->physical_address = ACPI_TO_INTEGER (mem_rover); - return_ACPI_STATUS (AE_OK); + table_info->physical_address = + ACPI_TO_INTEGER(mem_rover); + return_ACPI_STATUS(AE_OK); } } /* 2) Search upper memory: 16-byte boundaries in E0000h-FFFFFh */ - mem_rover = acpi_tb_scan_memory_for_rsdp ( - ACPI_PHYSADDR_TO_PTR (ACPI_HI_RSDP_WINDOW_BASE), - ACPI_HI_RSDP_WINDOW_SIZE); + mem_rover = + acpi_tb_scan_memory_for_rsdp(ACPI_PHYSADDR_TO_PTR + (ACPI_HI_RSDP_WINDOW_BASE), + ACPI_HI_RSDP_WINDOW_SIZE); if (mem_rover) { /* Found it, return the physical address */ - table_info->physical_address = ACPI_TO_INTEGER (mem_rover); - return_ACPI_STATUS (AE_OK); + table_info->physical_address = + ACPI_TO_INTEGER(mem_rover); + return_ACPI_STATUS(AE_OK); } } /* A valid RSDP was not found */ - ACPI_REPORT_ERROR (("No valid RSDP was found\n")); - return_ACPI_STATUS (AE_NOT_FOUND); + ACPI_REPORT_ERROR(("No valid RSDP was found\n")); + return_ACPI_STATUS(AE_NOT_FOUND); } #endif - |