@@ -36,6 +36,14 @@ static bool qdf2400_erratum_44_present(struct acpi_table_header *h)
return false;
}
+static void spcr_quirks(struct acpi_table_spcr *table, char **iotype)
+{
+ struct acpi_table_header *h = &table->header;
+
+ if (!memcmp(h->oem_table_id, "XGENESPC", ACPI_OEM_TABLE_ID_SIZE))
+ *iotype = "mmio32";
+}
+
/**
* parse_spcr() - parse ACPI SPCR table and add preferred console
*
@@ -88,6 +96,9 @@ int __init parse_spcr(bool earlycon)
iotype = "mmio32";
break;
}
+
+ /* Fixup any non-standard compliant devices */
+ spcr_quirks(table, &iotype);
} else
iotype = "io";