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

Commit 54c23310 authored by Paul Mackerras's avatar Paul Mackerras
Browse files

Revert "[PATCH] powerpc: Minor numa memory code cleanup"

This reverts f1fdc0117004d343698b9830e141491d5ae320d1 commit.
parent d2dd482b
Loading
Loading
Loading
Loading
+24 −11
Original line number Diff line number Diff line
@@ -254,17 +254,29 @@ static int __init find_min_common_depth(void)
	return depth;
}

static void __init get_n_mem_cells(int *n_addr_cells, int *n_size_cells)
static int __init get_mem_addr_cells(void)
{
	struct device_node *memory = NULL;
	int rc;

	memory = of_find_node_by_type(memory, "memory");
	if (memory) {
		*n_addr_cells = prom_n_addr_cells(memory);
		*n_size_cells = prom_n_size_cells(memory);
		of_node_put(memory);
	if (!memory)
		return 0; /* it won't matter */

	rc = prom_n_addr_cells(memory);
	return rc;
}
	/* if (!memory) we are in trouble, let other code error out */

static int __init get_mem_size_cells(void)
{
	struct device_node *memory = NULL;
	int rc;

	memory = of_find_node_by_type(memory, "memory");
	if (!memory)
		return 0; /* it won't matter */
	rc = prom_n_size_cells(memory);
	return rc;
}

static unsigned long __init read_n_cells(int n, unsigned int **buf)
@@ -374,7 +386,7 @@ static int __init parse_numa_properties(void)
{
	struct device_node *cpu = NULL;
	struct device_node *memory = NULL;
	int n_addr_cells, n_size_cells;
	int addr_cells, size_cells;
	int max_domain;
	unsigned long i;

@@ -413,7 +425,8 @@ static int __init parse_numa_properties(void)
		}
	}

	get_n_mem_cells(&n_addr_cells, &n_size_cells);
	addr_cells = get_mem_addr_cells();
	size_cells = get_mem_size_cells();
	memory = NULL;
	while ((memory = of_find_node_by_type(memory, "memory")) != NULL) {
		unsigned long start;
@@ -430,8 +443,8 @@ static int __init parse_numa_properties(void)
		ranges = memory->n_addrs;
new_range:
		/* these are order-sensitive, and modify the buffer pointer */
		start = read_n_cells(n_addr_cells, &memcell_buf);
		size = read_n_cells(n_size_cells, &memcell_buf);
		start = read_n_cells(addr_cells, &memcell_buf);
		size = read_n_cells(size_cells, &memcell_buf);

		numa_domain = of_node_numa_domain(memory);