mirror of https://gitee.com/openkylin/linux.git
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:
parent
7cda93e008
commit
7f8f97c3cc
|
@ -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
|
||||||
|
|
|
@ -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 "
|
||||||
|
|
|
@ -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))
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue