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

Commit 6ddfee0e authored by travis@sgi.com's avatar travis@sgi.com Committed by Ingo Molnar
Browse files

modules: fold percpu_modcopy into module.c



percpu_modcopy() is defined multiple times in arch files. However, the only
user is module.c. Put a static definition into module.c and remove
the definitions from the arch files.

Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 914c8269
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -940,14 +940,3 @@ module_arch_cleanup (struct module *mod)
	if (mod->arch.core_unw_table)
		unw_remove_unwind_table(mod->arch.core_unw_table);
}

#ifdef CONFIG_SMP
void
percpu_modcopy (void *pcpudst, const void *src, unsigned long size)
{
	unsigned int i;
	for_each_possible_cpu(i) {
		memcpy(pcpudst + per_cpu_offset(i), src, size);
	}
}
#endif /* CONFIG_SMP */
+0 −5
Original line number Diff line number Diff line
@@ -22,10 +22,6 @@
#define DECLARE_PER_CPU(type, name)				\
	extern PER_CPU_ATTRIBUTES __typeof__(type) per_cpu__##name

/*
 * Pretty much a literal copy of asm-generic/percpu.h, except that percpu_modcopy() is an
 * external routine, to avoid include-hell.
 */
#ifdef CONFIG_SMP

extern unsigned long __per_cpu_offset[NR_CPUS];
@@ -38,7 +34,6 @@ DECLARE_PER_CPU(unsigned long, local_per_cpu_offset);
#define __get_cpu_var(var) (*RELOC_HIDE(&per_cpu__##var, __ia64_per_cpu_var(local_per_cpu_offset)))
#define __raw_get_cpu_var(var) (*RELOC_HIDE(&per_cpu__##var, __ia64_per_cpu_var(local_per_cpu_offset)))

extern void percpu_modcopy(void *pcpudst, const void *src, unsigned long size);
extern void setup_per_cpu_areas (void);
extern void *per_cpu_init(void);

+0 −9
Original line number Diff line number Diff line
@@ -21,15 +21,6 @@
#define __get_cpu_var(var) (*RELOC_HIDE(&per_cpu__##var, __my_cpu_offset()))
#define __raw_get_cpu_var(var) (*RELOC_HIDE(&per_cpu__##var, local_paca->data_offset))

/* A macro to avoid #include hell... */
#define percpu_modcopy(pcpudst, src, size)			\
do {								\
	unsigned int __i;					\
	for_each_possible_cpu(__i)				\
		memcpy((pcpudst)+__per_cpu_offset(__i),		\
		       (src), (size));				\
} while (0)

extern void setup_per_cpu_areas(void);

#else /* ! SMP */
+0 −9
Original line number Diff line number Diff line
@@ -39,15 +39,6 @@ extern unsigned long __per_cpu_offset[NR_CPUS];
#define per_cpu(var,cpu) __reloc_hide(var,__per_cpu_offset[cpu])
#define per_cpu_offset(x) (__per_cpu_offset[x])

/* A macro to avoid #include hell... */
#define percpu_modcopy(pcpudst, src, size)			\
do {								\
	unsigned int __i;					\
	for_each_possible_cpu(__i)				\
		memcpy((pcpudst)+__per_cpu_offset[__i],		\
		       (src), (size));				\
} while (0)

#else /* ! SMP */

#define __get_cpu_var(var) __reloc_hide(var,0)