Messages in this thread Patch in this message | | | Date | Fri, 4 Jan 2008 21:37:45 +0100 | From | Sam Ravnborg <> | Subject | Re: [PATCH] profile: further Codying Style fixes, take 2 |
| |
On Fri, Jan 04, 2008 at 06:52:09PM +0100, Paolo Ciarrocchi wrote: > Further fixes to profile.c, checkpatch.pl now reports: > > total: 0 errors, 2 warnings, 601 lines checked > > WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable > #410: FILE: profile.c:410: > +EXPORT_SYMBOL_GPL(profile_hits); > I cannot fix this without changing the funtionality in case of non-SMP build.
If you look a bit more you will see two functions named profile_hits. So you just add the export twice - like this: diff --git a/kernel/profile.c b/kernel/profile.c index 5e95330..fc4570d 100644 --- a/kernel/profile.c +++ b/kernel/profile.c @@ -337,6 +337,7 @@ out: local_irq_restore(flags); put_cpu(); } +EXPORT_SYMBOL_GPL(profile_hits);
static int __devinit profile_cpu_callback(struct notifier_block *info, unsigned long action, void *__cpu) @@ -408,9 +409,8 @@ void profile_hits(int type, void *__pc, unsigned int nr_hits) pc = ((unsigned long)__pc - (unsigned long)_stext) >> prof_shift; atomic_add(nr_hits, &prof_buffer[min(pc, prof_len - 1)]); } -#endif /* !CONFIG_SMP */ - EXPORT_SYMBOL_GPL(profile_hits); +#endif /* !CONFIG_SMP */
void profile_tick(int type) { Which has the added benefit that it is now documented for both implementations that they are exported.
> > > WARNING: externs should be avoided in .c files > #509: FILE: profile.c:509: > + extern int setup_profiling_timer(unsigned int multiplier); > I don't know what to do with this warning.
Stick the prototype in profile.h maybe? I can see that not all implementers of this function includes profile.h so it is not foolproof.
Sam
| |