Blackfin serial driver: actually implement the break_ctl() function
authorMike Frysinger <michael.frysinger@analog.com>
Mon, 11 Jun 2007 08:12:49 +0000 (16:12 +0800)
committerBryan Wu <bryan.wu@analog.com>
Mon, 11 Jun 2007 08:12:49 +0000 (16:12 +0800)
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
drivers/serial/bfin_5xx.c

index 9d356fc96a57896705a0495a430eb55994d60b18..a9d202717829df29489387da0bf636e8d92eb4c0 100644 (file)
@@ -519,6 +519,14 @@ static void bfin_serial_mctrl_check(struct bfin_serial_port *uart)
  */
 static void bfin_serial_break_ctl(struct uart_port *port, int break_state)
 {
+       struct bfin_serial_port *uart = (struct bfin_serial_port *)port;
+       u16 lcr = UART_GET_LCR(uart);
+       if (break_state)
+               lcr |= SB;
+       else
+               lcr &= ~SB;
+       UART_PUT_LCR(uart, lcr);
+       SSYNC();
 }
 
 static int bfin_serial_startup(struct uart_port *port)