acpi: Add HMAT to generic parsing tables
[sfrench/cifs-2.6.git] / drivers / acpi / tables.c
index 7553774a22b761039c3d9e77de9840e10b49918b..3d0da38f94c62455a12665875073b7418c35f60f 100644 (file)
@@ -51,6 +51,7 @@ static int acpi_apic_instance __initdata;
 
 enum acpi_subtable_type {
        ACPI_SUBTABLE_COMMON,
+       ACPI_SUBTABLE_HMAT,
 };
 
 struct acpi_subtable_entry {
@@ -232,6 +233,8 @@ acpi_get_entry_type(struct acpi_subtable_entry *entry)
        switch (entry->type) {
        case ACPI_SUBTABLE_COMMON:
                return entry->hdr->common.type;
+       case ACPI_SUBTABLE_HMAT:
+               return entry->hdr->hmat.type;
        }
        return 0;
 }
@@ -242,6 +245,8 @@ acpi_get_entry_length(struct acpi_subtable_entry *entry)
        switch (entry->type) {
        case ACPI_SUBTABLE_COMMON:
                return entry->hdr->common.length;
+       case ACPI_SUBTABLE_HMAT:
+               return entry->hdr->hmat.length;
        }
        return 0;
 }
@@ -252,6 +257,8 @@ acpi_get_subtable_header_length(struct acpi_subtable_entry *entry)
        switch (entry->type) {
        case ACPI_SUBTABLE_COMMON:
                return sizeof(entry->hdr->common);
+       case ACPI_SUBTABLE_HMAT:
+               return sizeof(entry->hdr->hmat);
        }
        return 0;
 }
@@ -259,6 +266,8 @@ acpi_get_subtable_header_length(struct acpi_subtable_entry *entry)
 static enum acpi_subtable_type __init
 acpi_get_subtable_type(char *id)
 {
+       if (strncmp(id, ACPI_SIG_HMAT, 4) == 0)
+               return ACPI_SUBTABLE_HMAT;
        return ACPI_SUBTABLE_COMMON;
 }