mirror of
https://github.com/torvalds/linux.git
synced 2024-12-06 19:11:31 +00:00
a9ee6cf5c6
After removal of DISCINTIGMEM the NEED_MULTIPLE_NODES and NUMA configuration options are equivalent. Drop CONFIG_NEED_MULTIPLE_NODES and use CONFIG_NUMA instead. Done with $ sed -i 's/CONFIG_NEED_MULTIPLE_NODES/CONFIG_NUMA/' \ $(git grep -wl CONFIG_NEED_MULTIPLE_NODES) $ sed -i 's/NEED_MULTIPLE_NODES/NUMA/' \ $(git grep -wl NEED_MULTIPLE_NODES) with manual tweaks afterwards. [rppt@linux.ibm.com: fix arm boot crash] Link: https://lkml.kernel.org/r/YMj9vHhHOiCVN4BF@linux.ibm.com Link: https://lkml.kernel.org/r/20210608091316.3622-9-rppt@kernel.org Signed-off-by: Mike Rapoport <rppt@linux.ibm.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: David Hildenbrand <david@redhat.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Matt Turner <mattst88@gmail.com> Cc: Richard Henderson <rth@twiddle.net> Cc: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
46 lines
1.0 KiB
C
46 lines
1.0 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __ASM_SH_MMZONE_H
|
|
#define __ASM_SH_MMZONE_H
|
|
|
|
#ifdef CONFIG_NUMA
|
|
#include <linux/numa.h>
|
|
|
|
extern struct pglist_data *node_data[];
|
|
#define NODE_DATA(nid) (node_data[nid])
|
|
|
|
static inline int pfn_to_nid(unsigned long pfn)
|
|
{
|
|
int nid;
|
|
|
|
for (nid = 0; nid < MAX_NUMNODES; nid++)
|
|
if (pfn >= node_start_pfn(nid) && pfn <= node_end_pfn(nid))
|
|
break;
|
|
|
|
return nid;
|
|
}
|
|
|
|
static inline struct pglist_data *pfn_to_pgdat(unsigned long pfn)
|
|
{
|
|
return NODE_DATA(pfn_to_nid(pfn));
|
|
}
|
|
|
|
/* arch/sh/mm/numa.c */
|
|
void __init setup_bootmem_node(int nid, unsigned long start, unsigned long end);
|
|
#else
|
|
static inline void
|
|
setup_bootmem_node(int nid, unsigned long start, unsigned long end)
|
|
{
|
|
}
|
|
#endif /* CONFIG_NUMA */
|
|
|
|
/* Platform specific mem init */
|
|
void __init plat_mem_setup(void);
|
|
|
|
/* arch/sh/kernel/setup.c */
|
|
void __init __add_active_range(unsigned int nid, unsigned long start_pfn,
|
|
unsigned long end_pfn);
|
|
/* arch/sh/mm/init.c */
|
|
void __init allocate_pgdat(unsigned int nid);
|
|
|
|
#endif /* __ASM_SH_MMZONE_H */
|