Re: [PATCH 02/46] kernel: Add prototype definition to include/linux/kernel.h

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

On Thu, Feb 27, 2014 at 11:32:30AM -0500, Steven Rostedt wrote:
> On Thu, 27 Feb 2014 16:38:50 +0530
> Rashika Kheria <rashika.kheria@gmail.com> wrote:
> > Add prototype declaration to header file include/linux/kernel.h because
> > it is used by more than one file.
> >
> > This also eliminates the following warning in kernel/panic.c:
> > kernel/panic.c:55:13: warning: no previous prototype for ‘panic_smp_self_stop’ [-Wmissing-prototypes]
> >
> > Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
> > Reviewed-by: Josh Triplett <josh@joshtriplett.org>
> > ---
> > arch/tile/kernel/smp.c | 1 +
> > include/linux/kernel.h | 2 ++
> > kernel/panic.c | 1 +
> > 3 files changed, 4 insertions(+)
> >
> > diff --git a/arch/tile/kernel/smp.c b/arch/tile/kernel/smp.c
> > index 01e8ab2..8b645fd 100644
> > --- a/arch/tile/kernel/smp.c
> > +++ b/arch/tile/kernel/smp.c
> > @@ -19,6 +19,7 @@
> > #include <linux/io.h>
> > #include <linux/irq.h>
> > #include <linux/module.h>
> > +#include <linux/kernel.h>
> > #include <asm/cacheflush.h>
> > #include <asm/homecache.h>
> >
> > diff --git a/include/linux/kernel.h b/include/linux/kernel.h
> > index 196d1ea..c7cee7d 100644
> > --- a/include/linux/kernel.h
> > +++ b/include/linux/kernel.h
> > @@ -154,6 +154,8 @@ struct completion;
> > struct pt_regs;
> > struct user;
> >
> > +void __weak panic_smp_self_stop(void);
>
> Is __weak required in a prototype? What about the override that is not
> weak.

That's a good question. It's definitely not required, and should be
dropped. What I don't know is if it's broken to include it: does it
make the non-weak definition weak?

- Josh Triplett