x86, generic: mark early_printk as asmlinkage
authorJiri Slaby <jirislaby@gmail.com>
Mon, 12 May 2008 13:44:40 +0000 (15:44 +0200)
committerIngo Molnar <mingo@elte.hu>
Wed, 18 Jun 2008 11:11:01 +0000 (13:11 +0200)
It's not explicitly marked as asmlinkage, but invoked from x86_32
startup code with parameters on stack.

No other architectures define early_printk and none of them are affected
by this change, since defines asmlinkage as empty token.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/early_printk.c
include/linux/kernel.h
kernel/printk.c

index 643fd861b724dd07659a66052e0f358704a425b8..ff9e7350da5484747e1fd86014a51fc3faa84654 100644 (file)
@@ -196,7 +196,7 @@ static struct console simnow_console = {
 static struct console *early_console = &early_vga_console;
 static int early_console_initialized;
 
-void early_printk(const char *fmt, ...)
+asmlinkage void early_printk(const char *fmt, ...)
 {
        char buf[512];
        int n;
index f2a668c195bfa55dd32a3428dfc9aad81e829d59..4cb8d3df414e00d81410e067c84def0c82fa1ab5 100644 (file)
@@ -207,7 +207,7 @@ static inline bool printk_timed_ratelimit(unsigned long *caller_jiffies, \
                { return false; }
 #endif
 
-extern void __attribute__((format(printf, 1, 2)))
+extern void asmlinkage __attribute__((format(printf, 1, 2)))
        early_printk(const char *fmt, ...);
 
 unsigned long int_sqrt(unsigned long);
index 70cfa5ac75ce5059333efa4cfbb3d03cdb47b1c2..de1a4f4470c324f4d93d21292ce3a11ba91b38a3 100644 (file)
@@ -38,7 +38,7 @@
 /*
  * Architectures can override it:
  */
-void __attribute__((weak)) early_printk(const char *fmt, ...)
+void asmlinkage __attribute__((weak)) early_printk(const char *fmt, ...)
 {
 }