diff mbox

[11/20] powerpc: Move definitions of secondary CPU spinloop to header file

Message ID 20090723055957.19D28DDD1B@ozlabs.org (mailing list archive)
State Superseded
Headers show

Commit Message

Benjamin Herrenschmidt July 23, 2009, 5:59 a.m. UTC
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(-)

Comments

Kumar Gala July 23, 2009, 2:51 p.m. UTC | #1
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
Benjamin Herrenschmidt July 23, 2009, 10:11 p.m. UTC | #2
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
diff mbox

Patch

--- 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;