summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/serial/altera_jtag_uart.c12
-rw-r--r--drivers/serial/serial.c1
-rw-r--r--drivers/serial/serial_pxa.c3
-rw-r--r--drivers/serial/serial_s3c24x0.c1
-rw-r--r--drivers/serial/serial_s5pc1xx.c1
5 files changed, 16 insertions, 2 deletions
diff --git a/drivers/serial/altera_jtag_uart.c b/drivers/serial/altera_jtag_uart.c
index fb28aa9..2980e4d 100644
--- a/drivers/serial/altera_jtag_uart.c
+++ b/drivers/serial/altera_jtag_uart.c
@@ -38,8 +38,16 @@ int serial_init( void ) { return(0);}
void serial_putc (char c)
{
- while (NIOS_JTAG_WSPACE ( readl (&jtag->control)) == 0)
- WATCHDOG_RESET ();
+ while (1) {
+ unsigned st = readl(&jtag->control);
+ if (NIOS_JTAG_WSPACE(st))
+ break;
+#ifdef CONFIG_ALTERA_JTAG_UART_BYPASS
+ if (!(st & NIOS_JTAG_AC)) /* no connection */
+ return;
+#endif
+ WATCHDOG_RESET();
+ }
writel ((unsigned char)c, &jtag->data);
}
diff --git a/drivers/serial/serial.c b/drivers/serial/serial.c
index dd5f332..8eda95c 100644
--- a/drivers/serial/serial.c
+++ b/drivers/serial/serial.c
@@ -115,6 +115,7 @@ static NS16550_t serial_ports[4] = {
name,\
bus,\
eserial##port##_init,\
+ NULL,\
eserial##port##_setbrg,\
eserial##port##_getc,\
eserial##port##_tstc,\
diff --git a/drivers/serial/serial_pxa.c b/drivers/serial/serial_pxa.c
index 9ba457e..b74e439 100644
--- a/drivers/serial/serial_pxa.c
+++ b/drivers/serial/serial_pxa.c
@@ -266,6 +266,7 @@ struct serial_device serial_ffuart_device =
"serial_ffuart",
"PXA",
ffuart_init,
+ NULL,
ffuart_setbrg,
ffuart_getc,
ffuart_tstc,
@@ -310,6 +311,7 @@ struct serial_device serial_btuart_device =
"serial_btuart",
"PXA",
btuart_init,
+ NULL,
btuart_setbrg,
btuart_getc,
btuart_tstc,
@@ -354,6 +356,7 @@ struct serial_device serial_stuart_device =
"serial_stuart",
"PXA",
stuart_init,
+ NULL,
stuart_setbrg,
stuart_getc,
stuart_tstc,
diff --git a/drivers/serial/serial_s3c24x0.c b/drivers/serial/serial_s3c24x0.c
index 5dd4dd8..8a3e302 100644
--- a/drivers/serial/serial_s3c24x0.c
+++ b/drivers/serial/serial_s3c24x0.c
@@ -78,6 +78,7 @@ DECLARE_GLOBAL_DATA_PTR;
name, \
bus, \
s3serial##port##_init, \
+ NULL,\
s3serial##port##_setbrg, \
s3serial##port##_getc, \
s3serial##port##_tstc, \
diff --git a/drivers/serial/serial_s5pc1xx.c b/drivers/serial/serial_s5pc1xx.c
index 73669a9..8da0c86 100644
--- a/drivers/serial/serial_s5pc1xx.c
+++ b/drivers/serial/serial_s5pc1xx.c
@@ -185,6 +185,7 @@ void s5p_serial##port##_puts(const char *s) { serial_puts_dev(s, port); }
name, \
bus, \
s5p_serial##port##_init, \
+ NULL, \
s5p_serial##port##_setbrg, \
s5p_serial##port##_getc, \
s5p_serial##port##_tstc, \