Re: [PATCH 08/46] kernel: MOve prototype declaration to header file include/linux/perf_event.h

Josh Triplett
2014-02-27T15:52:34Z

On Thu, Feb 27, 2014 at 12:54:14PM +0100, Peter Zijlstra wrote:
> On Thu, Feb 27, 2014 at 05:02:48PM +0530, Rashika Kheria wrote:
> > Add prototype declaration of function to header file
> > include/linux/perf_event.h because it is used by more than one file.
> >
> > This eliminates the following warning in kernel/events/core.c:
> > kernel/events/core.c:3743:13: warning: no previous prototype for ‘arch_perf_update_userpage’ [-Wmissing-prototypes]
>
> # git grep arch_perf_update_userpage
> arch/x86/kernel/cpu/perf_event.c:void arch_perf_update_userpage(struct perf_event_mmap_page *userpg, u64 now)
> kernel/events/core.c:void __weak arch_perf_update_userpage(struct perf_event_mmap_page *userpg, u64 now)
> kernel/events/core.c: arch_perf_update_userpage(userpg, now);
>
>
> There's two definitions; one weak, and one usage site.
>
> What gives?

There's no prototype for the function anywhere, so -Wmissing-prototypes
rightfully complains. Adding the prototype to a header included in both
source files ensures that the function signatures must match, and
eliminates the warning.

- Josh Triplett