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>
This commit is contained in:
Len Brown 2007-02-10 21:28:03 -05:00
parent 7cda93e008
commit 7f8f97c3cc
5 changed files with 21 additions and 11 deletions

View File

@ -865,10 +865,9 @@ static inline int acpi_parse_madt_ioapic_entries(void)
static void __init acpi_process_madt(void) static void __init acpi_process_madt(void)
{ {
#ifdef CONFIG_X86_LOCAL_APIC #ifdef CONFIG_X86_LOCAL_APIC
int count, error; int error;
count = acpi_table_parse(ACPI_SIG_MADT, acpi_parse_madt); if (!acpi_table_parse(ACPI_SIG_MADT, acpi_parse_madt)) {
if (count >= 1) {
/* /*
* Parse MADT LAPIC entries * Parse MADT LAPIC entries

View File

@ -53,7 +53,9 @@ static void nvidia_bugs(void)
return; return;
nvidia_hpet_detected = 0; 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) { if (nvidia_hpet_detected == 0) {
acpi_skip_timer_override = 1; acpi_skip_timer_override = 1;
printk(KERN_INFO "Nvidia board " printk(KERN_INFO "Nvidia board "

View File

@ -170,7 +170,9 @@ void __init pci_mmcfg_init(int type)
if ((pci_probe & PCI_PROBE_MMCONF) == 0) if ((pci_probe & PCI_PROBE_MMCONF) == 0)
return; 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) || if ((pci_mmcfg_config_num == 0) ||
(pci_mmcfg_config == NULL) || (pci_mmcfg_config == NULL) ||
(pci_mmcfg_config[0].address == 0)) (pci_mmcfg_config[0].address == 0))

View File

@ -220,9 +220,7 @@ int __init acpi_numa_init(void)
int result; int result;
/* SRAT: Static Resource Affinity Table */ /* SRAT: Static Resource Affinity Table */
result = acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat); if (!acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat)) {
if (result > 0) {
result = acpi_table_parse_srat(ACPI_SRAT_TYPE_CPU_AFFINITY, result = acpi_table_parse_srat(ACPI_SRAT_TYPE_CPU_AFFINITY,
acpi_parse_processor_affinity, acpi_parse_processor_affinity,
NR_CPUS); NR_CPUS);
@ -230,7 +228,7 @@ int __init acpi_numa_init(void)
} }
/* SLIT: System Locality Information Table */ /* 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(); acpi_numa_arch_fixup();
return 0; return 0;

View File

@ -226,6 +226,15 @@ acpi_table_parse_madt(enum acpi_madt_type id,
handler, max_entries); 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) int __init acpi_table_parse(char *id, acpi_table_handler handler)
{ {
struct acpi_table_header *table = NULL; 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); acpi_get_table(id, 0, &table);
if (table) { if (table) {
handler(table); handler(table);
return 1;
} else
return 0; return 0;
} else
return 1;
} }
/* /*