1 // SPDX-License-Identifier: GPL-2.0
3 * RISC-V SBI based earlycon
5 * Copyright (C) 2018 Anup Patel <anup@brainfault.org>
7 #include <linux/kernel.h>
8 #include <linux/console.h>
9 #include <linux/init.h>
10 #include <linux/serial_core.h>
13 static void sbi_putc(struct uart_port
*port
, int c
)
15 sbi_console_putchar(c
);
18 static void sbi_console_write(struct console
*con
,
19 const char *s
, unsigned n
)
21 struct earlycon_device
*dev
= con
->data
;
22 uart_console_write(&dev
->port
, s
, n
, sbi_putc
);
25 static int __init
early_sbi_setup(struct earlycon_device
*device
,
28 device
->con
->write
= sbi_console_write
;
31 EARLYCON_DECLARE(sbi
, early_sbi_setup
);