diff options
Diffstat (limited to 'arch/powerpc/mm/numa.c')
| -rw-r--r-- | arch/powerpc/mm/numa.c | 20 | 
1 files changed, 11 insertions, 9 deletions
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c index 2164006fe17..0bfb90c5057 100644 --- a/arch/powerpc/mm/numa.c +++ b/arch/powerpc/mm/numa.c @@ -709,8 +709,7 @@ static void __init parse_drconf_memory(struct device_node *memory)  static int __init parse_numa_properties(void)  { -	struct device_node *cpu = NULL; -	struct device_node *memory = NULL; +	struct device_node *memory;  	int default_nid = 0;  	unsigned long i; @@ -732,6 +731,7 @@ static int __init parse_numa_properties(void)  	 * each node to be onlined must have NODE_DATA etc backing it.  	 */  	for_each_present_cpu(i) { +		struct device_node *cpu;  		int nid;  		cpu = of_get_cpu_node(i, NULL); @@ -750,8 +750,8 @@ static int __init parse_numa_properties(void)  	}  	get_n_mem_cells(&n_mem_addr_cells, &n_mem_size_cells); -	memory = NULL; -	while ((memory = of_find_node_by_type(memory, "memory")) != NULL) { + +	for_each_node_by_type(memory, "memory") {  		unsigned long start;  		unsigned long size;  		int nid; @@ -800,8 +800,9 @@ new_range:  	}  	/* -	 * Now do the same thing for each MEMBLOCK listed in the ibm,dynamic-memory -	 * property in the ibm,dynamic-reconfiguration-memory node. +	 * Now do the same thing for each MEMBLOCK listed in the +	 * ibm,dynamic-memory property in the +	 * ibm,dynamic-reconfiguration-memory node.  	 */  	memory = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory");  	if (memory) @@ -1187,10 +1188,10 @@ static int hot_add_drconf_scn_to_nid(struct device_node *memory,   */  int hot_add_node_scn_to_nid(unsigned long scn_addr)  { -	struct device_node *memory = NULL; +	struct device_node *memory;  	int nid = -1; -	while ((memory = of_find_node_by_type(memory, "memory")) != NULL) { +	for_each_node_by_type(memory, "memory") {  		unsigned long start, size;  		int ranges;  		const unsigned int *memcell_buf; @@ -1214,11 +1215,12 @@ int hot_add_node_scn_to_nid(unsigned long scn_addr)  			break;  		} -		of_node_put(memory);  		if (nid >= 0)  			break;  	} +	of_node_put(memory); +  	return nid;  }  |