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

Commit 1d7cfe18 authored by Tejun Heo's avatar Tejun Heo
Browse files

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: default avatarTejun Heo <tj@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Yinghai Lu <yinghai@kernel.org>
parent 7fb0bc3f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -117,6 +117,7 @@ config PPC
	select HAVE_KRETPROBES
	select HAVE_ARCH_TRACEHOOK
	select HAVE_MEMBLOCK
	select HAVE_MEMBLOCK_NODE_MAP
	select HAVE_DMA_ATTRS
	select HAVE_DMA_API_DEBUG
	select USE_GENERIC_SMP_HELPERS if SMP
+1 −1
Original line number Diff line number Diff line
@@ -199,7 +199,7 @@ void __init do_init_bootmem(void)
		unsigned long start_pfn, end_pfn;
		start_pfn = memblock_region_memory_base_pfn(reg);
		end_pfn = memblock_region_memory_end_pfn(reg);
		add_active_range(0, start_pfn, end_pfn);
		memblock_set_node(0, (phys_addr_t)ULLONG_MAX, 0);
	}

	/* Add all physical memory to the bootmem map, mark each area
+4 −6
Original line number Diff line number Diff line
@@ -690,9 +690,7 @@ static void __init parse_drconf_memory(struct device_node *memory)
			node_set_online(nid);
			sz = numa_enforce_memory_limit(base, size);
			if (sz)
				add_active_range(nid, base >> PAGE_SHIFT,
						 (base >> PAGE_SHIFT)
						 + (sz >> PAGE_SHIFT));
				memblock_set_node(base, sz, nid);
		} while (--ranges);
	}
}
@@ -782,8 +780,7 @@ static int __init parse_numa_properties(void)
				continue;
		}

		add_active_range(nid, start >> PAGE_SHIFT,
				(start >> PAGE_SHIFT) + (size >> PAGE_SHIFT));
		memblock_set_node(start, size, nid);

		if (--ranges)
			goto new_range;
@@ -819,7 +816,8 @@ static void __init setup_nonnuma(void)
		end_pfn = memblock_region_memory_end_pfn(reg);

		fake_numa_create_new_node(end_pfn, &nid);
		add_active_range(nid, start_pfn, end_pfn);
		memblock_set_node(PFN_PHYS(start_pfn),
				  PFN_PHYS(end_pfn - start_pfn), nid);
		node_set_online(nid);
	}
}