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

This reverts f1fdc0117004d343698b9830e141491d5ae320d1 commit.
This commit is contained in:
Paul Mackerras 2005-12-05 15:50:39 +11:00
parent d2dd482bc1
commit 54c233102f
1 changed files with 24 additions and 11 deletions

View File

@ -254,17 +254,29 @@ static int __init find_min_common_depth(void)
return depth; 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; struct device_node *memory = NULL;
int rc;
memory = of_find_node_by_type(memory, "memory"); memory = of_find_node_by_type(memory, "memory");
if (memory) { if (!memory)
*n_addr_cells = prom_n_addr_cells(memory); return 0; /* it won't matter */
*n_size_cells = prom_n_size_cells(memory);
of_node_put(memory); 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) 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 *cpu = NULL;
struct device_node *memory = NULL; struct device_node *memory = NULL;
int n_addr_cells, n_size_cells; int addr_cells, size_cells;
int max_domain; int max_domain;
unsigned long i; 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; memory = NULL;
while ((memory = of_find_node_by_type(memory, "memory")) != NULL) { while ((memory = of_find_node_by_type(memory, "memory")) != NULL) {
unsigned long start; unsigned long start;
@ -430,8 +443,8 @@ static int __init parse_numa_properties(void)
ranges = memory->n_addrs; ranges = memory->n_addrs;
new_range: new_range:
/* these are order-sensitive, and modify the buffer pointer */ /* these are order-sensitive, and modify the buffer pointer */
start = read_n_cells(n_addr_cells, &memcell_buf); start = read_n_cells(addr_cells, &memcell_buf);
size = read_n_cells(n_size_cells, &memcell_buf); size = read_n_cells(size_cells, &memcell_buf);
numa_domain = of_node_numa_domain(memory); numa_domain = of_node_numa_domain(memory);