Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7f8f97c3 authored by Len Brown's avatar Len Brown
Browse files

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: default avatarLen Brown <len.brown@intel.com>
parent 7cda93e0
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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
+3 −1
Original line number Diff line number Diff line
@@ -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 "
+3 −1
Original line number Diff line number Diff line
@@ -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))
+2 −4
Original line number Diff line number Diff line
@@ -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;
+11 −2
Original line number Diff line number Diff line
@@ -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;
}

/*