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)   * acpi_parse_entries_array - for each proc_num find a suitable subtable   *   * @id: table id (for debugging purposes) - * @table_size: single entry size + * @table_size: size of the root table   * @table_header: where does the table start?   * @proc: array of acpi_subtable_proc struct containing entry id   *        and associated handler with it @@ -233,6 +233,11 @@ void acpi_table_print_madt_entry(struct acpi_subtable_header *header)   * on it. Assumption is that there's only single handler for particular   * entry id.   * + * The table_size is not the size of the complete ACPI table (the length + * field in the header struct), but only the size of the root table; i.e., + * the offset from the very first byte of the complete ACPI table, to the + * first byte of the very first subtable. + *   * On success returns sum of all matching entries for all proc handlers.   * Otherwise, -ENODEV or -EINVAL is returned.   */ @@ -400,7 +405,7 @@ int __init acpi_table_parse(char *id, acpi_tbl_table_handler handler)  		return -ENODEV;  } -/*  +/*   * The BIOS is supposed to supply a single APIC/MADT,   * but some report two.  Provide a knob to use either.   * (don't you wish instance 0 and 1 were not the same?) @@ -457,7 +462,7 @@ static const char * const table_sigs[] = {  	ACPI_SIG_UEFI, ACPI_SIG_WAET, ACPI_SIG_WDAT, ACPI_SIG_WDDT,  	ACPI_SIG_WDRT, ACPI_SIG_DSDT, ACPI_SIG_FADT, ACPI_SIG_PSDT,  	ACPI_SIG_RSDT, ACPI_SIG_XSDT, ACPI_SIG_SSDT, ACPI_SIG_IORT, -	ACPI_SIG_NFIT, ACPI_SIG_HMAT, NULL }; +	ACPI_SIG_NFIT, ACPI_SIG_HMAT, ACPI_SIG_PPTT, NULL };  #define ACPI_HEADER_SIZE sizeof(struct acpi_table_header)  |