From 118c0ace1b61433311ae4e067fdd32841baa7f91 Mon Sep 17 00:00:00 2001 From: Vivek Goyal Date: Thu, 11 Jan 2007 01:52:44 +0100 Subject: [PATCH] [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 Signed-off-by: Andi Kleen Cc: "Eric W. Biederman" Cc: Andi Kleen Signed-off-by: Andrew Morton --- drivers/serial/8250.c | 2 +- scripts/mod/modpost.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 51f3c739f7e1..5261f0af8b10 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 15ab5d02e80a..82e019bf2dc5 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 }; -- 2.20.1