diff options
author | Vivek Goyal <vgoyal@in.ibm.com> | 2007-01-11 01:52:44 +0100 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2007-01-11 01:52:44 +0100 |
commit | 118c0ace1b61433311ae4e067fdd32841baa7f91 (patch) | |
tree | f03f854626bf7d482e7138cf2df525380f754719 | |
parent | e96763d6e52c22a8821466e4d01c0c995b8087be (diff) | |
download | op-kernel-dev-118c0ace1b61433311ae4e067fdd32841baa7f91.zip op-kernel-dev-118c0ace1b61433311ae4e067fdd32841baa7f91.tar.gz |
[PATCH] x86-64: modpost add more symbols to whitelist pattern2
o MODPOST generates warning for i386 if compiled with CONFIG_RELOCATABLE=y
and serial console support is enabled.
o Serial console setup function, serial8250_console_setup(), is a non __init
function and it calls functions which are of type __init().
(uart_parse_options() and uart_set_options()). Assuming, setup will
be called during init time, changing serial8250_console_setup() to __init.
o Adding one more pattern to modpost whitelist. Console drivers might
have *_console structures containing references to setup functions which
can be of __init type. Don't generate warnings for those.
WARNING: vmlinux - Section mismatch: reference to .init.text: from .data between 'serial8250_console' (at offset 0xc05a33d8) and 'serial8250_reg'
Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
-rw-r--r-- | drivers/serial/8250.c | 2 | ||||
-rw-r--r-- | scripts/mod/modpost.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 51f3c73..5261f0a 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c @@ -2296,7 +2296,7 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) local_irq_restore(flags); } -static int serial8250_console_setup(struct console *co, char *options) +static int __init serial8250_console_setup(struct console *co, char *options) { struct uart_port *port; int baud = 9600; diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 15ab5d0..82e019b 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -595,6 +595,7 @@ static int secref_whitelist(const char *modname, const char *tosec, "_ops", "_probe", "_probe_one", + "_console", NULL }; |