aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/riscom8.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/riscom8.c')
-rw-r--r--drivers/char/riscom8.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/drivers/char/riscom8.c b/drivers/char/riscom8.c
index b56e0e04cb4a..a82c2a2d5e6c 100644
--- a/drivers/char/riscom8.c
+++ b/drivers/char/riscom8.c
@@ -1015,6 +1015,24 @@ static int rc_open(struct tty_struct * tty, struct file * filp)
1015 return 0; 1015 return 0;
1016} 1016}
1017 1017
1018static void rc_flush_buffer(struct tty_struct *tty)
1019{
1020 struct riscom_port *port = (struct riscom_port *)tty->driver_data;
1021 unsigned long flags;
1022
1023 if (rc_paranoia_check(port, tty->name, "rc_flush_buffer"))
1024 return;
1025
1026 spin_lock_irqsave(&riscom_lock, flags);
1027
1028 port->xmit_cnt = port->xmit_head = port->xmit_tail = 0;
1029
1030 spin_unlock_irqrestore(&riscom_lock, flags);
1031
1032 tty_wakeup(tty);
1033}
1034
1035
1018static void rc_close(struct tty_struct * tty, struct file * filp) 1036static void rc_close(struct tty_struct * tty, struct file * filp)
1019{ 1037{
1020 struct riscom_port *port = (struct riscom_port *) tty->driver_data; 1038 struct riscom_port *port = (struct riscom_port *) tty->driver_data;
@@ -1078,8 +1096,7 @@ static void rc_close(struct tty_struct * tty, struct file * filp)
1078 } 1096 }
1079 } 1097 }
1080 rc_shutdown_port(bp, port); 1098 rc_shutdown_port(bp, port);
1081 if (tty->driver->flush_buffer) 1099 rc_flush_buffer(tty);
1082 tty->driver->flush_buffer(tty);
1083 tty_ldisc_flush(tty); 1100 tty_ldisc_flush(tty);
1084 1101
1085 tty->closing = 0; 1102 tty->closing = 0;
@@ -1213,23 +1230,6 @@ static int rc_chars_in_buffer(struct tty_struct *tty)
1213 return port->xmit_cnt; 1230 return port->xmit_cnt;
1214} 1231}
1215 1232
1216static void rc_flush_buffer(struct tty_struct *tty)
1217{
1218 struct riscom_port *port = (struct riscom_port *)tty->driver_data;
1219 unsigned long flags;
1220
1221 if (rc_paranoia_check(port, tty->name, "rc_flush_buffer"))
1222 return;
1223
1224 spin_lock_irqsave(&riscom_lock, flags);
1225
1226 port->xmit_cnt = port->xmit_head = port->xmit_tail = 0;
1227
1228 spin_unlock_irqrestore(&riscom_lock, flags);
1229
1230 tty_wakeup(tty);
1231}
1232
1233static int rc_tiocmget(struct tty_struct *tty, struct file *file) 1233static int rc_tiocmget(struct tty_struct *tty, struct file *file)
1234{ 1234{
1235 struct riscom_port *port = (struct riscom_port *)tty->driver_data; 1235 struct riscom_port *port = (struct riscom_port *)tty->driver_data;