Message ID | 20090723055957.19D28DDD1B@ozlabs.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
On Jul 23, 2009, at 12:59 AM, Benjamin Herrenschmidt wrote: > Those definitions are currently declared extern in the .c file where > they are used, move them to a header file instead. > > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> > -- > > arch/powerpc/include/asm/smp.h | 5 +++++ > arch/powerpc/kernel/setup_64.c | 3 --- > 2 files changed, 5 insertions(+), 3 deletions(-) Can we not get rid of the externs in: arch/powerpc/platforms/cell/smp.c:extern void generic_secondary_smp_init(unsigned long); arch/powerpc/platforms/pseries/smp.c:extern void generic_secondary_smp_init(unsigned long); arch/powerpc/kernel/prom_init.c:extern unsigned long __secondary_hold_spinloop; - k > > > --- linux-work.orig/arch/powerpc/include/asm/smp.h 2009-07-22 > 16:38:32.000000000 +1000 > +++ linux-work/arch/powerpc/include/asm/smp.h 2009-07-22 > 16:46:59.000000000 +1000 > @@ -148,6 +148,11 @@ extern struct smp_ops_t *smp_ops; > extern void arch_send_call_function_single_ipi(int cpu); > extern void arch_send_call_function_ipi(cpumask_t mask); > > +#ifdef CONFIG_PPC64 > +extern void generic_secondary_smp_init(void); > +extern unsigned long __secondary_hold_spinloop; > +#endif /* CONFIG_PPC64 */ > + > #endif /* __ASSEMBLY__ */ > > #endif /* __KERNEL__ */ > Index: linux-work/arch/powerpc/kernel/setup_64.c > =================================================================== > --- linux-work.orig/arch/powerpc/kernel/setup_64.c 2009-07-22 > 16:38:12.000000000 +1000 > +++ linux-work/arch/powerpc/kernel/setup_64.c 2009-07-22 > 16:46:59.000000000 +1000 > @@ -230,9 +230,6 @@ void early_setup_secondary(void) > #endif /* CONFIG_SMP */ > > #if defined(CONFIG_SMP) || defined(CONFIG_KEXEC) > -extern unsigned long __secondary_hold_spinloop; > -extern void generic_secondary_smp_init(void); > - > void smp_release_cpus(void) > { > unsigned long *ptr; > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/linuxppc-dev
On Thu, 2009-07-23 at 09:51 -0500, Kumar Gala wrote: > On Jul 23, 2009, at 12:59 AM, Benjamin Herrenschmidt wrote: > > > Those definitions are currently declared extern in the .c file where > > they are used, move them to a header file instead. > > > > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> > > -- > > > > arch/powerpc/include/asm/smp.h | 5 +++++ > > arch/powerpc/kernel/setup_64.c | 3 --- > > 2 files changed, 5 insertions(+), 3 deletions(-) > > Can we not get rid of the externs in: > > arch/powerpc/platforms/cell/smp.c:extern void > generic_secondary_smp_init(unsigned long); > arch/powerpc/platforms/pseries/smp.c:extern void > generic_secondary_smp_init(unsigned long); > > arch/powerpc/kernel/prom_init.c:extern unsigned long > __secondary_hold_spinloop; Probably :-) I'll have a look. Cheers, Ben. > - k > > > > > > > --- linux-work.orig/arch/powerpc/include/asm/smp.h 2009-07-22 > > 16:38:32.000000000 +1000 > > +++ linux-work/arch/powerpc/include/asm/smp.h 2009-07-22 > > 16:46:59.000000000 +1000 > > @@ -148,6 +148,11 @@ extern struct smp_ops_t *smp_ops; > > extern void arch_send_call_function_single_ipi(int cpu); > > extern void arch_send_call_function_ipi(cpumask_t mask); > > > > +#ifdef CONFIG_PPC64 > > +extern void generic_secondary_smp_init(void); > > +extern unsigned long __secondary_hold_spinloop; > > +#endif /* CONFIG_PPC64 */ > > + > > #endif /* __ASSEMBLY__ */ > > > > #endif /* __KERNEL__ */ > > Index: linux-work/arch/powerpc/kernel/setup_64.c > > =================================================================== > > --- linux-work.orig/arch/powerpc/kernel/setup_64.c 2009-07-22 > > 16:38:12.000000000 +1000 > > +++ linux-work/arch/powerpc/kernel/setup_64.c 2009-07-22 > > 16:46:59.000000000 +1000 > > @@ -230,9 +230,6 @@ void early_setup_secondary(void) > > #endif /* CONFIG_SMP */ > > > > #if defined(CONFIG_SMP) || defined(CONFIG_KEXEC) > > -extern unsigned long __secondary_hold_spinloop; > > -extern void generic_secondary_smp_init(void); > > - > > void smp_release_cpus(void) > > { > > unsigned long *ptr; > > _______________________________________________ > > Linuxppc-dev mailing list > > Linuxppc-dev@lists.ozlabs.org > > https://lists.ozlabs.org/listinfo/linuxppc-dev
--- linux-work.orig/arch/powerpc/include/asm/smp.h 2009-07-22 16:38:32.000000000 +1000 +++ linux-work/arch/powerpc/include/asm/smp.h 2009-07-22 16:46:59.000000000 +1000 @@ -148,6 +148,11 @@ extern struct smp_ops_t *smp_ops; extern void arch_send_call_function_single_ipi(int cpu); extern void arch_send_call_function_ipi(cpumask_t mask); +#ifdef CONFIG_PPC64 +extern void generic_secondary_smp_init(void); +extern unsigned long __secondary_hold_spinloop; +#endif /* CONFIG_PPC64 */ + #endif /* __ASSEMBLY__ */ #endif /* __KERNEL__ */ Index: linux-work/arch/powerpc/kernel/setup_64.c =================================================================== --- linux-work.orig/arch/powerpc/kernel/setup_64.c 2009-07-22 16:38:12.000000000 +1000 +++ linux-work/arch/powerpc/kernel/setup_64.c 2009-07-22 16:46:59.000000000 +1000 @@ -230,9 +230,6 @@ void early_setup_secondary(void) #endif /* CONFIG_SMP */ #if defined(CONFIG_SMP) || defined(CONFIG_KEXEC) -extern unsigned long __secondary_hold_spinloop; -extern void generic_secondary_smp_init(void); - void smp_release_cpus(void) { unsigned long *ptr;
Those definitions are currently declared extern in the .c file where they are used, move them to a header file instead. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> -- arch/powerpc/include/asm/smp.h | 5 +++++ arch/powerpc/kernel/setup_64.c | 3 --- 2 files changed, 5 insertions(+), 3 deletions(-)