]> err.no Git - linux-2.6/commitdiff
[PATCH] x86-64: modpost add more symbols to whitelist pattern2
authorVivek Goyal <vgoyal@in.ibm.com>
Thu, 11 Jan 2007 00:52:44 +0000 (01:52 +0100)
committerAndi Kleen <andi@basil.nowhere.org>
Thu, 11 Jan 2007 00:52:44 +0000 (01:52 +0100)
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>
drivers/serial/8250.c
scripts/mod/modpost.c

index 51f3c739f7e1b87943734ae1fd746c72492891eb..5261f0af8b101bcf4e1149caebdb484bbe92aa70 100644 (file)
@@ -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;
index 15ab5d02e80a1689a554dac4893cd1edb910c26c..82e019bf2dc587c6b5444b519d9632f463a26839 100644 (file)
@@ -595,6 +595,7 @@ static int secref_whitelist(const char *modname, const char *tosec,
                "_ops",
                "_probe",
                "_probe_one",
+               "_console",
                NULL
        };