]> git.ipfire.org Git - thirdparty/u-boot.git/blob - drivers/serial/serial_sbi.c
serial: move sbi_dbcn_available to .data section
[thirdparty/u-boot.git] / drivers / serial / serial_sbi.c
1 // SPDX-License-Identifier: GPL-2.0+
2
3 #include <debug_uart.h>
4 #include <asm/sbi.h>
5
6 #ifdef CONFIG_SBI_V01
7
8 static inline void _debug_uart_init(void)
9 {
10 }
11
12 static inline void _debug_uart_putc(int c)
13 {
14 if (CONFIG_IS_ENABLED(RISCV_SMODE))
15 sbi_console_putchar(c);
16 }
17
18 #else
19
20 static int sbi_dbcn_available __section(".data");
21
22 static inline void _debug_uart_init(void)
23 {
24 if (CONFIG_IS_ENABLED(RISCV_SMODE))
25 sbi_dbcn_available = sbi_probe_extension(SBI_EXT_DBCN);
26 }
27
28 static inline void _debug_uart_putc(int ch)
29 {
30 if (CONFIG_IS_ENABLED(RISCV_SMODE) && sbi_dbcn_available)
31 sbi_dbcn_write_byte(ch);
32 }
33
34 #endif
35
36 DEBUG_UART_FUNCS