mirror of https://gitee.com/openkylin/linux.git
tty: goldfish: Enable 'earlycon' only if built-in
Commit3840ed9548
("tty: goldfish: Implement support for kernel 'earlycon' parameter") breaks an allmodconfig config on x86: | LD vmlinux.o | MODPOST vmlinux.o |drivers/tty/serial/earlycon.o: In function `parse_options': |drivers/tty/serial/earlycon.c:97: undefined reference to `uart_parse_earlycon' |Makefile:1005: recipe for target 'vmlinux' failed earlycon.c::parse_options() invokes uart_parse_earlycon() from serial_core.c which is compiled=m because GOLDFISH_TTY itself (and most others) are =m. To avoid that, I'm adding the _CONSOLE config option which is selected if the GOLDFISH module itself is =y since it doesn't need the early bits for the =m case (other drivers do the same dance). The alternative would be to move uart_parse_earlycon() from serial_core.c to earlycon.c (we don't have that many users of that function). Fixes:3840ed9548
("tty: goldfish: Implement support for kernel 'earlycon' parameter") Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Reviewed-by: Miodrag Dinic <miodrag.dinic@mips.com> Acked-by: Miodrag Dinic <miodrag.dinic@mips.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
93ad86735d
commit
6a28fd2bbc
|
@ -394,10 +394,14 @@ config GOLDFISH_TTY
|
||||||
depends on GOLDFISH
|
depends on GOLDFISH
|
||||||
select SERIAL_CORE
|
select SERIAL_CORE
|
||||||
select SERIAL_CORE_CONSOLE
|
select SERIAL_CORE_CONSOLE
|
||||||
select SERIAL_EARLYCON
|
|
||||||
help
|
help
|
||||||
Console and system TTY driver for the Goldfish virtual platform.
|
Console and system TTY driver for the Goldfish virtual platform.
|
||||||
|
|
||||||
|
config GOLDFISH_TTY_EARLY_CONSOLE
|
||||||
|
bool
|
||||||
|
default y if GOLDFISH_TTY=y
|
||||||
|
select SERIAL_EARLYCON
|
||||||
|
|
||||||
config DA_TTY
|
config DA_TTY
|
||||||
bool "DA TTY"
|
bool "DA TTY"
|
||||||
depends on METAG_DA
|
depends on METAG_DA
|
||||||
|
|
|
@ -433,6 +433,7 @@ static int goldfish_tty_remove(struct platform_device *pdev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_GOLDFISH_TTY_EARLY_CONSOLE
|
||||||
static void gf_early_console_putchar(struct uart_port *port, int ch)
|
static void gf_early_console_putchar(struct uart_port *port, int ch)
|
||||||
{
|
{
|
||||||
__raw_writel(ch, port->membase);
|
__raw_writel(ch, port->membase);
|
||||||
|
@ -456,6 +457,7 @@ static int __init gf_earlycon_setup(struct earlycon_device *device,
|
||||||
}
|
}
|
||||||
|
|
||||||
OF_EARLYCON_DECLARE(early_gf_tty, "google,goldfish-tty", gf_earlycon_setup);
|
OF_EARLYCON_DECLARE(early_gf_tty, "google,goldfish-tty", gf_earlycon_setup);
|
||||||
|
#endif
|
||||||
|
|
||||||
static const struct of_device_id goldfish_tty_of_match[] = {
|
static const struct of_device_id goldfish_tty_of_match[] = {
|
||||||
{ .compatible = "google,goldfish-tty", },
|
{ .compatible = "google,goldfish-tty", },
|
||||||
|
|
Loading…
Reference in New Issue