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

Commit 735f57fe authored by Randy Dunlap's avatar Randy Dunlap Committed by Greg Kroah-Hartman
Browse files

ia64: fix discontig.c section mismatches

[ Upstream commit e2af9da4f867a1a54f1252bf3abc1a5c63951778 ]

Fix IA64 discontig.c Section mismatch warnings.

When CONFIG_SPARSEMEM=y and CONFIG_MEMORY_HOTPLUG=y, the functions
computer_pernodesize() and scatter_node_data() should not be marked as
__meminit because they are needed after init, on any memory hotplug
event.  Also, early_nr_cpus_node() is called by compute_pernodesize(),
so early_nr_cpus_node() cannot be __meminit either.

  WARNING: modpost: vmlinux.o(.text.unlikely+0x1612): Section mismatch in reference from the function arch_alloc_nodedata() to the function .meminit.text:compute_pernodesize()
  The function arch_alloc_nodedata() references the function __meminit compute_pernodesize().
  This is often because arch_alloc_nodedata lacks a __meminit annotation or the annotation of compute_pernodesize is wrong.

  WARNING: modpost: vmlinux.o(.text.unlikely+0x1692): Section mismatch in reference from the function arch_refresh_nodedata() to the function .meminit.text:scatter_node_data()
  The function arch_refresh_nodedata() references the function __meminit scatter_node_data().
  This is often because arch_refresh_nodedata lacks a __meminit annotation or the annotation of scatter_node_data is wrong.

  WARNING: modpost: vmlinux.o(.text.unlikely+0x1502): Section mismatch in reference from the function compute_pernodesize() to the function .meminit.text:early_nr_cpus_node()
  The function compute_pernodesize() references the function __meminit early_nr_cpus_node().
  This is often because compute_pernodesize lacks a __meminit annotation or the annotation of early_nr_cpus_node is wrong.

Link: https://lkml.kernel.org/r/20210411001201.3069-1-rdunlap@infradead.org


Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
Cc: Mike Rapoport <rppt@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent d029ea66
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -99,7 +99,7 @@ static int __init build_node_maps(unsigned long start, unsigned long len,
 * acpi_boot_init() (which builds the node_to_cpu_mask array) hasn't been
 * acpi_boot_init() (which builds the node_to_cpu_mask array) hasn't been
 * called yet.  Note that node 0 will also count all non-existent cpus.
 * called yet.  Note that node 0 will also count all non-existent cpus.
 */
 */
static int __meminit early_nr_cpus_node(int node)
static int early_nr_cpus_node(int node)
{
{
	int cpu, n = 0;
	int cpu, n = 0;


@@ -114,7 +114,7 @@ static int __meminit early_nr_cpus_node(int node)
 * compute_pernodesize - compute size of pernode data
 * compute_pernodesize - compute size of pernode data
 * @node: the node id.
 * @node: the node id.
 */
 */
static unsigned long __meminit compute_pernodesize(int node)
static unsigned long compute_pernodesize(int node)
{
{
	unsigned long pernodesize = 0, cpus;
	unsigned long pernodesize = 0, cpus;


@@ -411,7 +411,7 @@ static void __init reserve_pernode_space(void)
	}
	}
}
}


static void __meminit scatter_node_data(void)
static void scatter_node_data(void)
{
{
	pg_data_t **dst;
	pg_data_t **dst;
	int node;
	int node;