xref: /linux/arch/powerpc/include/asm/sparsemem.h (revision ec8a42e7343234802b9054874fe01810880289ce)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_POWERPC_SPARSEMEM_H
3 #define _ASM_POWERPC_SPARSEMEM_H 1
4 #ifdef __KERNEL__
5 
6 #ifdef CONFIG_SPARSEMEM
7 /*
8  * SECTION_SIZE_BITS		2^N: how big each section will be
9  * MAX_PHYSMEM_BITS		2^N: how much memory we can have in that space
10  */
11 #define SECTION_SIZE_BITS       24
12 
13 #endif /* CONFIG_SPARSEMEM */
14 
15 #ifdef CONFIG_MEMORY_HOTPLUG
16 extern int remove_section_mapping(unsigned long start, unsigned long end);
17 extern int memory_add_physaddr_to_nid(u64 start);
18 #define memory_add_physaddr_to_nid memory_add_physaddr_to_nid
19 
20 #ifdef CONFIG_NUMA
21 extern int hot_add_scn_to_nid(unsigned long scn_addr);
22 #else
23 static inline int hot_add_scn_to_nid(unsigned long scn_addr)
24 {
25 	return 0;
26 }
27 #endif /* CONFIG_NUMA */
28 #endif /* CONFIG_MEMORY_HOTPLUG */
29 #endif /* __KERNEL__ */
30 #endif /* _ASM_POWERPC_SPARSEMEM_H */
31