示例#1
0
/* putchar routine in polling mode. Added to support KGDB */
static void
s3c24xx_serial_putchar(struct uart_port *port, int ch)
{
	unsigned int ufcon = rd_regl(port, S3C2410_UFCON);
	while (!s3c24xx_serial_console_txrdy(port, ufcon));
	wr_regb(port, S3C2410_UTXH, ch);
}
示例#2
0
static void
s3c24xx_serial_console_write(struct console *co, const char *s,
			     unsigned int count)
{
	int i;
	unsigned int ufcon = rd_regl(cons_uart, S3C2410_UFCON);

	for (i = 0; i < count; i++) {
		while (!s3c24xx_serial_console_txrdy(cons_uart, ufcon))
			barrier();

		wr_regb(cons_uart, S3C2410_UTXH, s[i]);

		if (s[i] == '\n') {
			while (!s3c24xx_serial_console_txrdy(cons_uart, ufcon))
				barrier();

			wr_regb(cons_uart, S3C2410_UTXH, '\r');
		}
	}
}