ACPI: acpi_table_parse() now returns success/fail, not count
authorLen Brown <len.brown@intel.com>
Sun, 11 Feb 2007 02:28:03 +0000 (21:28 -0500)
committerLen Brown <len.brown@intel.com>
Tue, 13 Feb 2007 07:58:52 +0000 (02:58 -0500)
Returning count for tables that are supposed to be unique
was useless and confusing.

Signed-off-by: Len Brown <len.brown@intel.com>
arch/i386/kernel/acpi/boot.c
arch/x86_64/kernel/early-quirks.c
arch/x86_64/pci/mmconfig.c
drivers/acpi/numa.c
drivers/acpi/tables.c

index e94aff6888cab7aca553870d908aacf04526914f..7ac7b67b8519a04b46890a3bdde012d2f6a229a8 100644 (file)
@@ -865,10 +865,9 @@ static inline int acpi_parse_madt_ioapic_entries(void)
 static void __init acpi_process_madt(void)
 {
 #ifdef CONFIG_X86_LOCAL_APIC
-       int count, error;
+       int error;
 
-       count = acpi_table_parse(ACPI_SIG_MADT, acpi_parse_madt);
-       if (count >= 1) {
+       if (!acpi_table_parse(ACPI_SIG_MADT, acpi_parse_madt)) {
 
                /*
                 * Parse MADT LAPIC entries
index bd30d138113fa9e270a8e7974df36f185db11d50..8047ea8c2ab271e9e315547e3a77450d31edcab4 100644 (file)
@@ -53,7 +53,9 @@ static void nvidia_bugs(void)
                return;
 
        nvidia_hpet_detected = 0;
-       acpi_table_parse(ACPI_SIG_HPET, nvidia_hpet_check);
+       if (acpi_table_parse(ACPI_SIG_HPET, nvidia_hpet_check))
+               return;
+
        if (nvidia_hpet_detected == 0) {
                acpi_skip_timer_override = 1;
                printk(KERN_INFO "Nvidia board "
index faabb6e87f12461de8c25bf4ec4f14f75216edaa..98202cb50d8a669a5ce54ac3c5f6da263efc93f9 100644 (file)
@@ -170,7 +170,9 @@ void __init pci_mmcfg_init(int type)
        if ((pci_probe & PCI_PROBE_MMCONF) == 0)
                return;
 
-       acpi_table_parse(ACPI_SIG_MCFG, acpi_parse_mcfg);
+       if (acpi_table_parse(ACPI_SIG_MCFG, acpi_parse_mcfg))
+               return;
+
        if ((pci_mmcfg_config_num == 0) ||
            (pci_mmcfg_config == NULL) ||
            (pci_mmcfg_config[0].address == 0))
index dcd58a446f4bd9a645132552060944d092e40e5f..bb6caab243220ea77860fed189fa7783834a30f8 100644 (file)
@@ -220,9 +220,7 @@ int __init acpi_numa_init(void)
        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 @@ int __init acpi_numa_init(void)
        }
 
        /* 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;
index ba4cb200314a12f50b66527140e7abada696fe91..2075ec7b827b1034b5353119b0d6feb96c53af17 100644 (file)
@@ -226,6 +226,15 @@ acpi_table_parse_madt(enum acpi_madt_type id,
                                            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 @@ int __init acpi_table_parse(char *id, acpi_table_handler handler)
        acpi_get_table(id, 0, &table);
        if (table) {
                handler(table);
-               return 1;
-       } else
                return 0;
+       } else
+               return 1;
 }
 
 /*