ACPI: acpi_table_parse() now returns success/fail, not count
Returning count for tables that are supposed to be unique
was useless and confusing.
Signed-off-by: Len Brown <len.brown@intel.com>
diff --git a/drivers/acpi/numa.c b/drivers/acpi/numa.c
index dcd58a4..bb6caab 100644
--- a/drivers/acpi/numa.c
+++ b/drivers/acpi/numa.c
@@ -220,9 +220,7 @@
int result;
/* SRAT: Static Resource Affinity Table */
- result = acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat);
-
- if (result > 0) {
+ if (!acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat)) {
result = acpi_table_parse_srat(ACPI_SRAT_TYPE_CPU_AFFINITY,
acpi_parse_processor_affinity,
NR_CPUS);
@@ -230,7 +228,7 @@
}
/* SLIT: System Locality Information Table */
- result = acpi_table_parse(ACPI_SIG_SLIT, acpi_parse_slit);
+ acpi_table_parse(ACPI_SIG_SLIT, acpi_parse_slit);
acpi_numa_arch_fixup();
return 0;
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index ba4cb20..2075ec7 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -226,6 +226,15 @@
handler, max_entries);
}
+/**
+ * acpi_table_parse - find table with @id, run @handler on it
+ *
+ * @id: table id to find
+ * @handler: handler to run
+ *
+ * Scan the ACPI System Descriptor Table (STD) for a table matching @id,
+ * run @handler on it. Return 0 if table found, return on if not.
+ */
int __init acpi_table_parse(char *id, acpi_table_handler handler)
{
struct acpi_table_header *table = NULL;
@@ -235,9 +244,9 @@
acpi_get_table(id, 0, &table);
if (table) {
handler(table);
- return 1;
- } else
return 0;
+ } else
+ return 1;
}
/*