mirror of https://gitee.com/openkylin/linux.git
serial: altera_jtaguart: add earlycon support
Nios2 currently uses its own early printk implementation, rather than using unified earlycon support to show boot messages on altera_jtaguart (and altera_uart for that matter). Add earlycon support to altera_jtaguart so that other archs may use it. Also, this will allow the early printk implementation in arch/nios2 to eventually be removed in a future patch. Cc: Ley Foon Tan <lftan@altera.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
47baf1ad81
commit
0dcc0542a0
|
@ -1343,6 +1343,7 @@ config SERIAL_ALTERA_JTAGUART_CONSOLE
|
|||
bool "Altera JTAG UART console support"
|
||||
depends on SERIAL_ALTERA_JTAGUART=y
|
||||
select SERIAL_CORE_CONSOLE
|
||||
select SERIAL_EARLYCON
|
||||
help
|
||||
Enable a Altera JTAG UART port to be the system console.
|
||||
|
||||
|
|
|
@ -383,6 +383,26 @@ console_initcall(altera_jtaguart_console_init);
|
|||
|
||||
#define ALTERA_JTAGUART_CONSOLE (&altera_jtaguart_console)
|
||||
|
||||
static void altera_jtaguart_earlycon_write(struct console *co, const char *s,
|
||||
unsigned int count)
|
||||
{
|
||||
struct earlycon_device *dev = co->data;
|
||||
|
||||
uart_console_write(&dev->port, s, count, altera_jtaguart_console_putc);
|
||||
}
|
||||
|
||||
static int __init altera_jtaguart_earlycon_setup(struct earlycon_device *dev,
|
||||
const char *options)
|
||||
{
|
||||
if (!dev->port.membase)
|
||||
return -ENODEV;
|
||||
|
||||
dev->con->write = altera_jtaguart_earlycon_write;
|
||||
return 0;
|
||||
}
|
||||
|
||||
OF_EARLYCON_DECLARE(juart, "altr,juart-1.0", altera_jtaguart_earlycon_setup);
|
||||
|
||||
#else
|
||||
|
||||
#define ALTERA_JTAGUART_CONSOLE NULL
|
||||
|
|
Loading…
Reference in New Issue