Skip to content

Commit

Permalink
[PATCH] powerpc: Minor numa memory code cleanup
Browse files Browse the repository at this point in the history
I started to add missing of_node_put() calls to the routines that
determine the number of cells for memory.  Decided to combine the
routines instead of making separate node lookups.  Changed variable
names to help with some confusion as to meaning.

Signed-off-by: Mike Kravetz <kravetz@us.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Mike Kravetz authored and Paul Mackerras committed Jan 9, 2006
1 parent 8dacaed commit 74761bb
Showing 1 changed file with 11 additions and 24 deletions.
35 changes: 11 additions & 24 deletions arch/powerpc/mm/numa.c
Original file line number Diff line number Diff line change
Expand Up @@ -254,29 +254,17 @@ static int __init find_min_common_depth(void)
return depth;
}

static int __init get_mem_addr_cells(void)
static void __init get_n_mem_cells(int *n_addr_cells, int *n_size_cells)
{
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_addr_cells(memory);
return rc;
}

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;
if (memory) {
*n_addr_cells = prom_n_addr_cells(memory);
*n_size_cells = prom_n_size_cells(memory);
of_node_put(memory);
}
/* if (!memory) we are in trouble, let other code error out */
}

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

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

addr_cells = get_mem_addr_cells();
size_cells = get_mem_size_cells();
get_n_mem_cells(&n_addr_cells, &n_size_cells);
memory = NULL;
while ((memory = of_find_node_by_type(memory, "memory")) != NULL) {
unsigned long start;
Expand All @@ -443,8 +430,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(addr_cells, &memcell_buf);
size = read_n_cells(size_cells, &memcell_buf);
start = read_n_cells(n_addr_cells, &memcell_buf);
size = read_n_cells(n_size_cells, &memcell_buf);

numa_domain = of_node_numa_domain(memory);

Expand Down

0 comments on commit 74761bb

Please sign in to comment.