Re: [PATCH 03/46] kernel: Move prototype declaration to header file include/linux/cpu.h

Josh Triplett
2014-02-27T16:20:55Z

On Thu, Feb 27, 2014 at 08:04:29AM -0700, Toshi Kani wrote:
> On Thu, 2014-02-27 at 16:42 +0530, Rashika Kheria wrote:
> > Add prototype declaration to header file include/linux/cpu.h because
> > they are used by more than one file.
> >
> > This eliminates the following warning in kernel/cpu.c:
> > kernel/cpu.c:512:13: warning: no previous prototype for ‘arch_enable_nonboot_cpus_begin’ [-Wmissing-prototypes]
> > kernel/cpu.c:516:13: warning: no previous prototype for ‘arch_enable_nonboot_cpus_end’ [-Wmissing-prototypes]
> >
> > Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
> > Reviewed-by: Josh Triplett <josh@joshtriplett.org>
> > ---
> > arch/x86/kernel/smpboot.c | 1 +
> > include/linux/cpu.h | 2 ++
> > 2 files changed, 3 insertions(+)
> >
> > diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
> > index a32da80..e428764 100644
> > --- a/arch/x86/kernel/smpboot.c
> > +++ b/arch/x86/kernel/smpboot.c
> > @@ -49,6 +49,7 @@
> > #include <linux/bootmem.h>
> > #include <linux/err.h>
> > #include <linux/nmi.h>
> > +#include <linux/cpu.h>
> > #include <linux/tboot.h>
> > #include <linux/stackprotector.h>
> > #include <linux/gfp.h>
> > diff --git a/include/linux/cpu.h b/include/linux/cpu.h
> > index 03e235ad..9f633b0 100644
> > --- a/include/linux/cpu.h
> > +++ b/include/linux/cpu.h
> > @@ -38,6 +38,8 @@ extern void cpu_remove_dev_attr(struct device_attribute *attr);
> >
> > extern int cpu_add_dev_attr_group(struct attribute_group *attrs);
> > extern void cpu_remove_dev_attr_group(struct attribute_group *attrs);
> > +void arch_enable_nonboot_cpus_begin(void);
> > +void arch_enable_nonboot_cpus_end(void);
>
> Can we simply include linux/smp.h, which defines them already?

Ah, looks like those prototypes were only added to linux/smp.h very
recently, to fix this exact issue, in:

commit fb37bb04d6c8d6c44e61d9da189dcfa6aa0f135e
Author: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Mon Feb 10 14:25:49 2014 -0800

smp.h: fix x86+cpu.c sparse warnings about arch nonboot CPU calls

Use what we already do for arch_disable_smp_support() to fix these:

arch/x86/kernel/smpboot.c:1155:6: warning: symbol 'arch_enable_nonboot_cpus_begin' was not declared. Should it be static?
arch/x86/kernel/smpboot.c:1160:6: warning: symbol 'arch_enable_nonboot_cpus_end' was not declared. Should it be static?
kernel/cpu.c:512:13: warning: symbol 'arch_enable_nonboot_cpus_begin' was not declared. Should it be static?
kernel/cpu.c:516:13: warning: symbol 'arch_enable_nonboot_cpus_end' was not declared. Should it be static?