summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2007-12-29 01:19:49 -0800
committerDavid S. Miller <davem@davemloft.net>2007-12-29 01:19:49 -0800
commitfb445ee5f9bfc7cbef9e397556170c608dc02955 (patch)
treeb1a478362ad1a147c4d2c06ef79f77225953ce99
parent1842c7f260dd24dad2dd8eded80904d7a6c5525f (diff)
downloadop-kernel-dev-fb445ee5f9bfc7cbef9e397556170c608dc02955.zip
op-kernel-dev-fb445ee5f9bfc7cbef9e397556170c608dc02955.tar.gz
[SERIAL]: Fix section mismatches in Sun serial console drivers.
We're exporting an __init function, oops :-) The core issue here is that add_preferred_console() is marked as __init, this makes it impossible to invoke this thing from a driver probe routine which is what the Sparc serial drivers need to do. There is no harm in dropping the __init marker. This code will actually work properly when invoked from a modular driver, except that init will probably not pick up the console change without some other support code. Then we can drop the __init from sunserial_console_match() and we're no longer exporting an __init function to modules. Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/serial/suncore.c2
-rw-r--r--kernel/printk.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/serial/suncore.c b/drivers/serial/suncore.c
index 707c5b0..a2d4a19 100644
--- a/drivers/serial/suncore.c
+++ b/drivers/serial/suncore.c
@@ -52,7 +52,7 @@ void sunserial_unregister_minors(struct uart_driver *drv, int count)
}
EXPORT_SYMBOL(sunserial_unregister_minors);
-int __init sunserial_console_match(struct console *con, struct device_node *dp,
+int sunserial_console_match(struct console *con, struct device_node *dp,
struct uart_driver *drv, int line)
{
int off;
diff --git a/kernel/printk.c b/kernel/printk.c
index a30fe33..89011bf 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -817,7 +817,7 @@ __setup("console=", console_setup);
* commonly to provide a default console (ie from PROM variables) when
* the user has not supplied one.
*/
-int __init add_preferred_console(char *name, int idx, char *options)
+int add_preferred_console(char *name, int idx, char *options)
{
struct console_cmdline *c;
int i;
OpenPOWER on IntegriCloud