@@ -47,6 +49,26 @@ void __init __acpi_unmap_table(char *map, unsigned long size) early_memunmap(map, size); } +static int __init acpi_parse_fadt(struct acpi_table_header *table) +{
- struct acpi_table_fadt *fadt = (struct acpi_table_fadt *)table;
- /*
* Revision in table header is the FADT Major version,* and there is a minor version of FADT which was introduced* by ACPI 5.1, we only deal with ACPI 5.1 or higher version* to get arm boot flags, or we will disable ACPI.*/- if (table->revision < 5 || fadt->minor_revision < 1) {
If we ever get revision 6.0, this would trigger.
Yes, good catch, actually I already fixed that in my local git repo,
if (table->revision > 5 ||(table->revision == 5 && fadt->minor_revision >= 1)) {return 0;} else {pr_info("FADT revision is %d.%d, no PSCI support, should be 5.1or higher\n",
table->revision, fadt->minor_revision);disable_acpi();return -EINVAL;}
Given you return in the first path, you don't need the remaining code to live in an else block.
Mark.