diff options
Diffstat (limited to 'drivers/acpi/tables.c')
-rw-r--r-- | drivers/acpi/tables.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c index 849c4fb19b03..a3d012b08fc5 100644 --- a/drivers/acpi/tables.c +++ b/drivers/acpi/tables.c | |||
@@ -222,7 +222,7 @@ void acpi_table_print_madt_entry(struct acpi_subtable_header *header) | |||
222 | * acpi_parse_entries_array - for each proc_num find a suitable subtable | 222 | * acpi_parse_entries_array - for each proc_num find a suitable subtable |
223 | * | 223 | * |
224 | * @id: table id (for debugging purposes) | 224 | * @id: table id (for debugging purposes) |
225 | * @table_size: single entry size | 225 | * @table_size: size of the root table |
226 | * @table_header: where does the table start? | 226 | * @table_header: where does the table start? |
227 | * @proc: array of acpi_subtable_proc struct containing entry id | 227 | * @proc: array of acpi_subtable_proc struct containing entry id |
228 | * and associated handler with it | 228 | * and associated handler with it |
@@ -233,6 +233,11 @@ void acpi_table_print_madt_entry(struct acpi_subtable_header *header) | |||
233 | * on it. Assumption is that there's only single handler for particular | 233 | * on it. Assumption is that there's only single handler for particular |
234 | * entry id. | 234 | * entry id. |
235 | * | 235 | * |
236 | * The table_size is not the size of the complete ACPI table (the length | ||
237 | * field in the header struct), but only the size of the root table; i.e., | ||
238 | * the offset from the very first byte of the complete ACPI table, to the | ||
239 | * first byte of the very first subtable. | ||
240 | * | ||
236 | * On success returns sum of all matching entries for all proc handlers. | 241 | * On success returns sum of all matching entries for all proc handlers. |
237 | * Otherwise, -ENODEV or -EINVAL is returned. | 242 | * Otherwise, -ENODEV or -EINVAL is returned. |
238 | */ | 243 | */ |
@@ -400,7 +405,7 @@ int __init acpi_table_parse(char *id, acpi_tbl_table_handler handler) | |||
400 | return -ENODEV; | 405 | return -ENODEV; |
401 | } | 406 | } |
402 | 407 | ||
403 | /* | 408 | /* |
404 | * The BIOS is supposed to supply a single APIC/MADT, | 409 | * The BIOS is supposed to supply a single APIC/MADT, |
405 | * but some report two. Provide a knob to use either. | 410 | * but some report two. Provide a knob to use either. |
406 | * (don't you wish instance 0 and 1 were not the same?) | 411 | * (don't you wish instance 0 and 1 were not the same?) |
@@ -457,7 +462,7 @@ static const char * const table_sigs[] = { | |||
457 | ACPI_SIG_UEFI, ACPI_SIG_WAET, ACPI_SIG_WDAT, ACPI_SIG_WDDT, | 462 | ACPI_SIG_UEFI, ACPI_SIG_WAET, ACPI_SIG_WDAT, ACPI_SIG_WDDT, |
458 | ACPI_SIG_WDRT, ACPI_SIG_DSDT, ACPI_SIG_FADT, ACPI_SIG_PSDT, | 463 | ACPI_SIG_WDRT, ACPI_SIG_DSDT, ACPI_SIG_FADT, ACPI_SIG_PSDT, |
459 | ACPI_SIG_RSDT, ACPI_SIG_XSDT, ACPI_SIG_SSDT, ACPI_SIG_IORT, | 464 | ACPI_SIG_RSDT, ACPI_SIG_XSDT, ACPI_SIG_SSDT, ACPI_SIG_IORT, |
460 | ACPI_SIG_NFIT, ACPI_SIG_HMAT, NULL }; | 465 | ACPI_SIG_NFIT, ACPI_SIG_HMAT, ACPI_SIG_PPTT, NULL }; |
461 | 466 | ||
462 | #define ACPI_HEADER_SIZE sizeof(struct acpi_table_header) | 467 | #define ACPI_HEADER_SIZE sizeof(struct acpi_table_header) |
463 | 468 | ||