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

Commit 6eb87fed authored by Len Brown's avatar Len Brown
Browse files

ACPI: acpi_table_parse_madt_family() is not MADT specific



acpi_table_parse_madt_family() is also used to parse SRAT entries.
So re-name it to acpi_table_parse_entries(), and re-name the
madt-specific variables within it accordingly.

cosmetic only.

Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 5a8765a8
Loading
Loading
Loading
Loading
+1 −7
Original line number Diff line number Diff line
@@ -45,12 +45,6 @@ int __cpuinitdata pxm_to_node_map[MAX_PXM_DOMAINS]
int __cpuinitdata node_to_pxm_map[MAX_NUMNODES]
				= { [0 ... MAX_NUMNODES - 1] = PXM_INVAL };

extern int __init acpi_table_parse_madt_family(char *id,
					       unsigned long madt_size,
					       int entry_id,
					       acpi_table_entry_handler handler,
					       unsigned int max_entries);

int __cpuinit pxm_to_node(int pxm)
{
	if (pxm < 0)
@@ -210,7 +204,7 @@ int __init
acpi_table_parse_srat(enum acpi_srat_type id,
		      acpi_table_entry_handler handler, unsigned int max_entries)
{
	return acpi_table_parse_madt_family(ACPI_SIG_SRAT,
	return acpi_table_parse_entries(ACPI_SIG_SRAT,
					    sizeof(struct acpi_table_srat), id,
					    handler, max_entries);
}
+12 −12
Original line number Diff line number Diff line
@@ -170,40 +170,40 @@ void acpi_table_print_madt_entry(struct acpi_subtable_header * header)


int __init
acpi_table_parse_madt_family(char *id,
			     unsigned long madt_size,
acpi_table_parse_entries(char *id,
			     unsigned long table_size,
			     int entry_id,
			     acpi_table_entry_handler handler,
			     unsigned int max_entries)
{
	struct acpi_table_header *madt = NULL;
	struct acpi_table_header *table_header = NULL;
	struct acpi_subtable_header *entry;
	unsigned int count = 0;
	unsigned long madt_end;
	unsigned long table_end;

	if (!handler)
		return -EINVAL;

	/* Locate the MADT (if exists). There should only be one. */
	acpi_get_table(id, 0, &madt);
	/* Locate the table (if exists). There should only be one. */
	acpi_get_table(id, 0, &table_header);

	if (!madt) {
	if (!table_header) {
		printk(KERN_WARNING PREFIX "%4.4s not present\n", id);
		return -ENODEV;
	}

	madt_end = (unsigned long)madt + madt->length;
	table_end = (unsigned long)table_header + table_header->length;

	/* Parse all entries looking for a match. */

	entry = (struct acpi_subtable_header *)
	    ((unsigned long)madt + madt_size);
	    ((unsigned long)table_header + table_size);

	while (((unsigned long)entry) + sizeof(struct acpi_subtable_header) <
	       madt_end) {
	       table_end) {
		if (entry->type == entry_id
		    && (!max_entries || count++ < max_entries))
			if (handler(entry, madt_end))
			if (handler(entry, table_end))
				return -EINVAL;

		entry = (struct acpi_subtable_header *)
@@ -221,7 +221,7 @@ int __init
acpi_table_parse_madt(enum acpi_madt_type id,
		      acpi_table_entry_handler handler, unsigned int max_entries)
{
	return acpi_table_parse_madt_family(ACPI_SIG_MADT,
	return acpi_table_parse_entries(ACPI_SIG_MADT,
					    sizeof(struct acpi_table_madt), id,
					    handler, max_entries);
}
+2 −0
Original line number Diff line number Diff line
@@ -85,6 +85,8 @@ int acpi_numa_init (void);

int acpi_table_init (void);
int acpi_table_parse (char *id, acpi_table_handler handler);
int __init acpi_table_parse_entries(char *id, unsigned long table_size,
	int entry_id, acpi_table_entry_handler handler, unsigned int max_entries);
int acpi_table_parse_madt (enum acpi_madt_type id, acpi_table_entry_handler handler, unsigned int max_entries);
int acpi_table_parse_srat (enum acpi_srat_type id, acpi_table_entry_handler handler, unsigned int max_entries);
int acpi_parse_mcfg (struct acpi_table_header *header);