Commit fb445ee5 authored by David S. Miller's avatar David S. Miller

[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: default avatarDavid S. Miller <davem@davemloft.net>
parent 1842c7f2
...@@ -52,7 +52,7 @@ void sunserial_unregister_minors(struct uart_driver *drv, int count) ...@@ -52,7 +52,7 @@ void sunserial_unregister_minors(struct uart_driver *drv, int count)
} }
EXPORT_SYMBOL(sunserial_unregister_minors); 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) struct uart_driver *drv, int line)
{ {
int off; int off;
......
...@@ -817,7 +817,7 @@ __setup("console=", console_setup); ...@@ -817,7 +817,7 @@ __setup("console=", console_setup);
* commonly to provide a default console (ie from PROM variables) when * commonly to provide a default console (ie from PROM variables) when
* the user has not supplied one. * 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; struct console_cmdline *c;
int i; int i;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment