Re: [git pull] x86: declaration fixes

From: Ingo Molnar
Date: Mon Jul 21 2008 - 14:05:11 EST



* Jaswinder Singh <jaswinder@xxxxxxxxxxxxx> wrote:

> Hello Ingo,
>
> Please pull the declaration fixes for x86-tip from :
>
> git://git.infradead.org/users/jaswinder/linux-2.6-tip.git

pulled this into tip/x86/prototypes, thanks Jaswinder.

Btw., when sending pull requests it's best to use git-request-pull. I.e.
something like:

git-request-pull tip/master git://git.infradead.org/users/jaswinder/linux-2.6-tip.git

would have generated the proper output.

The changes still need some fixing though. For example, this change:

> 2. [PATCH] x86: process_32.c declare cpu_number before they get used

why is cpu_number moved over from smp.h to current.h? I think it's more
logical in smp.h. If it's missing somewhere then add an #include
<asm/smp.h> to that file?

also, this change:

+++ b/include/linux/timer.h
@@ -6,6 +6,10 @@
#include <linux/stddef.h>
#include <linux/debugobjects.h>

+#ifdef CONFIG_X86
+#include <asm/timer.h>
+#endif /* CONFIG_X86 */

is not really acceptable in a generic header, nor is:

--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -65,6 +67,10 @@ struct getcpu_cache;
#include <linux/quota.h>
#include <linux/key.h>

+#ifdef CONFIG_X86
+#include <asm/syscalls.h>
+#endif /* CONFIG_X86 */

i'd suggest we just do asm-x86/syscall.h and asm-x86/timer.h changes and
add #include <asm/syscall.h> and #include <asm/timer.h> to the affected
x86 .c files. Once every architecture has it, linux/syscall.h can be
extended with an unconditional asm/syscall.h include.

Or, like Matthew has suggested, a 'complete' collection of all syscalls
should be assembled into linux/syscall.h. In that case it has extra
documentation value if there's an #ifdef CONFIG_X86 for certain
syscalls. (say the LDT or VM86 syscalls make only sense on x86
platforms)

another thing:

--- a/include/asm-x86/signal.h
+++ b/include/asm-x86/signal.h

+void do_notify_resume(struct pt_regs *, void *, __u32);
+

please add "extern" to each such prototype declaration. (the same is
true for a handful of other prototypes you've added - please re-review
and fix them)

+#ifdef CONFIG_X86_32
extern int timer_ack;
-extern int no_timer_check;
extern int recalibrate_cpu_khz(void);
+#endif /* CONFIG_X86_32 */
+
+extern int no_timer_check;

hm, why was this needed?

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/