aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/tables/tbrsdt.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/tables/tbrsdt.c')
-rw-r--r--drivers/acpi/tables/tbrsdt.c25
1 files changed, 11 insertions, 14 deletions
diff --git a/drivers/acpi/tables/tbrsdt.c b/drivers/acpi/tables/tbrsdt.c
index 9e0ebe625ed9..9e226438a3f6 100644
--- a/drivers/acpi/tables/tbrsdt.c
+++ b/drivers/acpi/tables/tbrsdt.c
@@ -64,7 +64,7 @@ acpi_status acpi_tb_verify_rsdp(struct acpi_pointer *address)
64 acpi_status status; 64 acpi_status status;
65 struct rsdp_descriptor *rsdp; 65 struct rsdp_descriptor *rsdp;
66 66
67 ACPI_FUNCTION_TRACE("tb_verify_rsdp"); 67 ACPI_FUNCTION_TRACE(tb_verify_rsdp);
68 68
69 switch (address->pointer_type) { 69 switch (address->pointer_type) {
70 case ACPI_LOGICAL_POINTER: 70 case ACPI_LOGICAL_POINTER:
@@ -103,7 +103,7 @@ acpi_status acpi_tb_verify_rsdp(struct acpi_pointer *address)
103 103
104 /* Save the table pointers and allocation info */ 104 /* Save the table pointers and allocation info */
105 105
106 status = acpi_tb_init_table_descriptor(ACPI_TABLE_RSDP, &table_info); 106 status = acpi_tb_init_table_descriptor(ACPI_TABLE_ID_RSDP, &table_info);
107 if (ACPI_FAILURE(status)) { 107 if (ACPI_FAILURE(status)) {
108 goto cleanup; 108 goto cleanup;
109 } 109 }
@@ -174,22 +174,19 @@ void acpi_tb_get_rsdt_address(struct acpi_pointer *out_address)
174 174
175acpi_status acpi_tb_validate_rsdt(struct acpi_table_header *table_ptr) 175acpi_status acpi_tb_validate_rsdt(struct acpi_table_header *table_ptr)
176{ 176{
177 int no_match; 177 char *signature;
178 178
179 ACPI_FUNCTION_ENTRY(); 179 ACPI_FUNCTION_ENTRY();
180 180
181 /* 181 /* Search for appropriate signature, RSDT or XSDT */
182 * Search for appropriate signature, RSDT or XSDT 182
183 */
184 if (acpi_gbl_root_table_type == ACPI_TABLE_TYPE_RSDT) { 183 if (acpi_gbl_root_table_type == ACPI_TABLE_TYPE_RSDT) {
185 no_match = ACPI_STRNCMP((char *)table_ptr, RSDT_SIG, 184 signature = RSDT_SIG;
186 sizeof(RSDT_SIG) - 1);
187 } else { 185 } else {
188 no_match = ACPI_STRNCMP((char *)table_ptr, XSDT_SIG, 186 signature = XSDT_SIG;
189 sizeof(XSDT_SIG) - 1);
190 } 187 }
191 188
192 if (no_match) { 189 if (!ACPI_COMPARE_NAME(table_ptr->signature, signature)) {
193 190
194 /* Invalid RSDT or XSDT signature */ 191 /* Invalid RSDT or XSDT signature */
195 192
@@ -235,13 +232,13 @@ acpi_status acpi_tb_get_table_rsdt(void)
235 acpi_status status; 232 acpi_status status;
236 struct acpi_pointer address; 233 struct acpi_pointer address;
237 234
238 ACPI_FUNCTION_TRACE("tb_get_table_rsdt"); 235 ACPI_FUNCTION_TRACE(tb_get_table_rsdt);
239 236
240 /* Get the RSDT/XSDT via the RSDP */ 237 /* Get the RSDT/XSDT via the RSDP */
241 238
242 acpi_tb_get_rsdt_address(&address); 239 acpi_tb_get_rsdt_address(&address);
243 240
244 table_info.type = ACPI_TABLE_XSDT; 241 table_info.type = ACPI_TABLE_ID_XSDT;
245 status = acpi_tb_get_table(&address, &table_info); 242 status = acpi_tb_get_table(&address, &table_info);
246 if (ACPI_FAILURE(status)) { 243 if (ACPI_FAILURE(status)) {
247 ACPI_EXCEPTION((AE_INFO, status, 244 ACPI_EXCEPTION((AE_INFO, status,
@@ -275,7 +272,7 @@ acpi_status acpi_tb_get_table_rsdt(void)
275 272
276 /* Save the table pointers and allocation info */ 273 /* Save the table pointers and allocation info */
277 274
278 status = acpi_tb_init_table_descriptor(ACPI_TABLE_XSDT, &table_info); 275 status = acpi_tb_init_table_descriptor(ACPI_TABLE_ID_XSDT, &table_info);
279 if (ACPI_FAILURE(status)) { 276 if (ACPI_FAILURE(status)) {
280 return_ACPI_STATUS(status); 277 return_ACPI_STATUS(status);
281 } 278 }