diff options
author | Scott Wood <scottwood@freescale.com> | 2014-09-18 15:05:02 -0400 |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2014-09-19 16:01:05 -0400 |
commit | 6db35ad2373eed5deb3b105ae7c1e9de3e34ae94 (patch) | |
tree | 4e38615811beda954fb12fbec69367a80a79d63e | |
parent | 94105a762016aea3284c07c813017b90a6325f10 (diff) |
powerpc/mm: Use common paging_init() for NUMA
Commit 1c98025c6c95bc057a25e2c6596de23288c68160 "powerpc: Dynamic DMA
zone limits" updated how zones are created in paging_init(), but missed
the NUMA version of paging_init(). This was noticed via a linker
error, since dma_pfn_limit_to_zone() was, like the non-NUMA
paging_init(), limited by #ifndef CONFIG_NEED_MULTIPLE_NODES.
It turns out that the NUMA paging_init() was not actually doing
anything different from the standard paging_init(), other than a couple
debug prints, a couple 32-bit-only ifdef sections, and a call to
mark_nonram_nosave(). It's not clear whether mark_nonram_nosave() is
inherently wrong to do for NUMA, or just not useful on targets that
have NUMA, but for now I'm preserving the existing behavior.
Fixes: 1c98025c6c9 "powerpc: Dynamic DMA zone limits"
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Scott Wood <scottwood@freescale.com>
-rw-r--r-- | arch/powerpc/mm/mem.c | 7 | ||||
-rw-r--r-- | arch/powerpc/mm/numa.c | 8 |
2 files changed, 6 insertions, 9 deletions
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c index 687e7f7f7751..420dfff22ba5 100644 --- a/arch/powerpc/mm/mem.c +++ b/arch/powerpc/mm/mem.c | |||
@@ -259,6 +259,12 @@ static int __init mark_nonram_nosave(void) | |||
259 | } | 259 | } |
260 | return 0; | 260 | return 0; |
261 | } | 261 | } |
262 | #else /* CONFIG_NEED_MULTIPLE_NODES */ | ||
263 | static int __init mark_nonram_nosave(void) | ||
264 | { | ||
265 | return 0; | ||
266 | } | ||
267 | #endif | ||
262 | 268 | ||
263 | static bool zone_limits_final; | 269 | static bool zone_limits_final; |
264 | 270 | ||
@@ -351,7 +357,6 @@ void __init paging_init(void) | |||
351 | 357 | ||
352 | mark_nonram_nosave(); | 358 | mark_nonram_nosave(); |
353 | } | 359 | } |
354 | #endif /* ! CONFIG_NEED_MULTIPLE_NODES */ | ||
355 | 360 | ||
356 | static void __init register_page_bootmem_info(void) | 361 | static void __init register_page_bootmem_info(void) |
357 | { | 362 | { |
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c index 3b181b22cd46..5eb07f332de1 100644 --- a/arch/powerpc/mm/numa.c +++ b/arch/powerpc/mm/numa.c | |||
@@ -1126,14 +1126,6 @@ void __init do_init_bootmem(void) | |||
1126 | (void *)(unsigned long)boot_cpuid); | 1126 | (void *)(unsigned long)boot_cpuid); |
1127 | } | 1127 | } |
1128 | 1128 | ||
1129 | void __init paging_init(void) | ||
1130 | { | ||
1131 | unsigned long max_zone_pfns[MAX_NR_ZONES]; | ||
1132 | memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); | ||
1133 | max_zone_pfns[ZONE_DMA] = memblock_end_of_DRAM() >> PAGE_SHIFT; | ||
1134 | free_area_init_nodes(max_zone_pfns); | ||
1135 | } | ||
1136 | |||
1137 | static int __init early_numa(char *p) | 1129 | static int __init early_numa(char *p) |
1138 | { | 1130 | { |
1139 | if (!p) | 1131 | if (!p) |