[<prev] [next>] [day] [month] [year] [list]
Message-id: <200705311403.12238.yinghai.lu@sun.com>
Date: Thu, 31 May 2007 14:03:11 -0700
From: Yinghai Lu <Yinghai.Lu@....COM>
To: Andrew Morton <akpm@...ux-foundation.org>, Andi Kleen <ak@...e.de>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: [PATCH 5/5] serial: assert DTR for serial console devices
[PATCH 5/5] serial: assert DTR for serial console devices
Some RS-232 devices require DTR to be asserted before they can be
used. DTR is normally asserted in uart_startup() when the port is
opened. But we don't actually open serial console ports, so assert
DTR when the port is added.
BTW:
earlyprintk and early_uart are hard coded to set DTR/RTS.
Signed-off-by: Yinghai Lu <yinghai.lu@....com>
Cc: Russell King <rmk@....linux.org.uk>
Cc: Andi Kleen <ak@...e.de>
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@...com>
diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
index 326020f..e5a3d8b 100644
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
@@ -2303,8 +2303,14 @@ int uart_add_one_port(struct uart_driver *drv, struct uart_port *port)
* It may be that the port was not available.
*/
if (port->type != PORT_UNKNOWN &&
- port->cons && !(port->cons->flags & CON_ENABLED))
+ port->cons && !(port->cons->flags & CON_ENABLED)) {
+ /*
+ * We normally assert DTR when a port is opened, but serial
+ * console devices aren't actually opened, so do it here.
+ */
+ uart_set_mctrl(port, TIOCM_DTR);
register_console(port->cons);
+ }
/*
* Ensure UPF_DEAD is not set.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists