aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2011-12-08 13:22:08 -0500
committerTejun Heo <tj@kernel.org>2011-12-08 13:22:08 -0500
commit1d7cfe18ec2eb2d0480a9b29465af66b61291202 (patch)
treea618245968fb20ef0d08a73ea65ee1f1721fcffe /arch
parent7fb0bc3f06fdc3a35e41bcea7a15e53d2515362f (diff)
powerpc: Use HAVE_MEMBLOCK_NODE_MAP
powerpc doesn't access early_node_map[] directly and enabling HAVE_MEMBLOCK_NODE_MAP is trivial - replacing add_active_range() calls with memblock_set_node() and selecting HAVE_MEMBLOCK_NODE_MAP is enough. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Yinghai Lu <yinghai@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/Kconfig1
-rw-r--r--arch/powerpc/mm/mem.c2
-rw-r--r--arch/powerpc/mm/numa.c10
3 files changed, 6 insertions, 7 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 951e18f5335b..8516477c4dc5 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -117,6 +117,7 @@ config PPC
117 select HAVE_KRETPROBES 117 select HAVE_KRETPROBES
118 select HAVE_ARCH_TRACEHOOK 118 select HAVE_ARCH_TRACEHOOK
119 select HAVE_MEMBLOCK 119 select HAVE_MEMBLOCK
120 select HAVE_MEMBLOCK_NODE_MAP
120 select HAVE_DMA_ATTRS 121 select HAVE_DMA_ATTRS
121 select HAVE_DMA_API_DEBUG 122 select HAVE_DMA_API_DEBUG
122 select USE_GENERIC_SMP_HELPERS if SMP 123 select USE_GENERIC_SMP_HELPERS if SMP
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
index 2dd6bdd31fe1..8e2eb6611b0b 100644
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
@@ -199,7 +199,7 @@ void __init do_init_bootmem(void)
199 unsigned long start_pfn, end_pfn; 199 unsigned long start_pfn, end_pfn;
200 start_pfn = memblock_region_memory_base_pfn(reg); 200 start_pfn = memblock_region_memory_base_pfn(reg);
201 end_pfn = memblock_region_memory_end_pfn(reg); 201 end_pfn = memblock_region_memory_end_pfn(reg);
202 add_active_range(0, start_pfn, end_pfn); 202 memblock_set_node(0, (phys_addr_t)ULLONG_MAX, 0);
203 } 203 }
204 204
205 /* Add all physical memory to the bootmem map, mark each area 205 /* Add all physical memory to the bootmem map, mark each area
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index 261adbd3b55a..e6eea0ac80c8 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -690,9 +690,7 @@ static void __init parse_drconf_memory(struct device_node *memory)
690 node_set_online(nid); 690 node_set_online(nid);
691 sz = numa_enforce_memory_limit(base, size); 691 sz = numa_enforce_memory_limit(base, size);
692 if (sz) 692 if (sz)
693 add_active_range(nid, base >> PAGE_SHIFT, 693 memblock_set_node(base, sz, nid);
694 (base >> PAGE_SHIFT)
695 + (sz >> PAGE_SHIFT));
696 } while (--ranges); 694 } while (--ranges);
697 } 695 }
698} 696}
@@ -782,8 +780,7 @@ new_range:
782 continue; 780 continue;
783 } 781 }
784 782
785 add_active_range(nid, start >> PAGE_SHIFT, 783 memblock_set_node(start, size, nid);
786 (start >> PAGE_SHIFT) + (size >> PAGE_SHIFT));
787 784
788 if (--ranges) 785 if (--ranges)
789 goto new_range; 786 goto new_range;
@@ -819,7 +816,8 @@ static void __init setup_nonnuma(void)
819 end_pfn = memblock_region_memory_end_pfn(reg); 816 end_pfn = memblock_region_memory_end_pfn(reg);
820 817
821 fake_numa_create_new_node(end_pfn, &nid); 818 fake_numa_create_new_node(end_pfn, &nid);
822 add_active_range(nid, start_pfn, end_pfn); 819 memblock_set_node(PFN_PHYS(start_pfn),
820 PFN_PHYS(end_pfn - start_pfn), nid);
823 node_set_online(nid); 821 node_set_online(nid);
824 } 822 }
825} 823}