serial: fix 8250 early console setup
the early setup function serial8250_console_early_setup() can be called from non __init code (eg. hotpluggable serial ports like serial_cs) so remove the __init from the call chain to avoid crashes. Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Cc: Yinghai Lu <yinghai.lu@sun.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
1a3f2ea336
commit
b6b1d87785
3 changed files with 3 additions and 3 deletions
|
@ -2514,7 +2514,7 @@ static int __init serial8250_console_setup(struct console *co, char *options)
|
||||||
return uart_set_options(port, co, baud, parity, bits, flow);
|
return uart_set_options(port, co, baud, parity, bits, flow);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __init serial8250_console_early_setup(void)
|
static int serial8250_console_early_setup(void)
|
||||||
{
|
{
|
||||||
return serial8250_find_port_for_earlycon();
|
return serial8250_find_port_for_earlycon();
|
||||||
}
|
}
|
||||||
|
|
|
@ -227,7 +227,7 @@ int __init setup_early_serial8250_console(char *cmdline)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int __init serial8250_find_port_for_earlycon(void)
|
int serial8250_find_port_for_earlycon(void)
|
||||||
{
|
{
|
||||||
struct early_serial8250_device *device = &early_device;
|
struct early_serial8250_device *device = &early_device;
|
||||||
struct uart_port *port = &device->port;
|
struct uart_port *port = &device->port;
|
||||||
|
|
|
@ -732,7 +732,7 @@ int __init add_preferred_console(char *name, int idx, char *options)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int __init update_console_cmdline(char *name, int idx, char *name_new, int idx_new, char *options)
|
int update_console_cmdline(char *name, int idx, char *name_new, int idx_new, char *options)
|
||||||
{
|
{
|
||||||
struct console_cmdline *c;
|
struct console_cmdline *c;
|
||||||
int i;
|
int i;
|
||||||
|
|
Loading…
Reference in a new issue