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

Commit 6b588c18 authored by Tejun Heo's avatar Tejun Heo
Browse files

module: reorder module pcpu related functions



Impact: cleanup

Move percpu_modinit() upwards.  This is to ease further changes.

Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent 73426952
Loading
Loading
Loading
Loading
+18 −15
Original line number Original line Diff line number Diff line
@@ -480,21 +480,6 @@ static void percpu_modfree(void *freeme)
	}
	}
}
}


static unsigned int find_pcpusec(Elf_Ehdr *hdr,
				 Elf_Shdr *sechdrs,
				 const char *secstrings)
{
	return find_sec(hdr, sechdrs, secstrings, ".data.percpu");
}

static void percpu_modcopy(void *pcpudest, const void *from, unsigned long size)
{
	int cpu;

	for_each_possible_cpu(cpu)
		memcpy(pcpudest + per_cpu_offset(cpu), from, size);
}

static int percpu_modinit(void)
static int percpu_modinit(void)
{
{
	pcpu_num_used = 2;
	pcpu_num_used = 2;
@@ -513,7 +498,24 @@ static int percpu_modinit(void)
	return 0;
	return 0;
}
}
__initcall(percpu_modinit);
__initcall(percpu_modinit);

static unsigned int find_pcpusec(Elf_Ehdr *hdr,
				 Elf_Shdr *sechdrs,
				 const char *secstrings)
{
	return find_sec(hdr, sechdrs, secstrings, ".data.percpu");
}

static void percpu_modcopy(void *pcpudest, const void *from, unsigned long size)
{
	int cpu;

	for_each_possible_cpu(cpu)
		memcpy(pcpudest + per_cpu_offset(cpu), from, size);
}

#else /* ... !CONFIG_SMP */
#else /* ... !CONFIG_SMP */

static inline void *percpu_modalloc(unsigned long size, unsigned long align,
static inline void *percpu_modalloc(unsigned long size, unsigned long align,
				    const char *name)
				    const char *name)
{
{
@@ -535,6 +537,7 @@ static inline void percpu_modcopy(void *pcpudst, const void *src,
	/* pcpusec should be 0, and size of that section should be 0. */
	/* pcpusec should be 0, and size of that section should be 0. */
	BUG_ON(size != 0);
	BUG_ON(size != 0);
}
}

#endif /* CONFIG_SMP */
#endif /* CONFIG_SMP */


#define MODINFO_ATTR(field)	\
#define MODINFO_ATTR(field)	\