aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/68328serial.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/tty/serial/68328serial.c')
-rw-r--r--drivers/tty/serial/68328serial.c25
1 files changed, 1 insertions, 24 deletions
diff --git a/drivers/tty/serial/68328serial.c b/drivers/tty/serial/68328serial.c
index de0160e3f8c4..d5bfd41707e7 100644
--- a/drivers/tty/serial/68328serial.c
+++ b/drivers/tty/serial/68328serial.c
@@ -393,28 +393,6 @@ static void do_softint(struct work_struct *work)
393#endif 393#endif
394} 394}
395 395
396/*
397 * This routine is called from the scheduler tqueue when the interrupt
398 * routine has signalled that a hangup has occurred. The path of
399 * hangup processing is:
400 *
401 * serial interrupt routine -> (scheduler tqueue) ->
402 * do_serial_hangup() -> tty->hangup() -> rs_hangup()
403 *
404 */
405static void do_serial_hangup(struct work_struct *work)
406{
407 struct m68k_serial *info = container_of(work, struct m68k_serial, tqueue_hangup);
408 struct tty_struct *tty;
409
410 tty = info->tty;
411 if (!tty)
412 return;
413
414 tty_hangup(tty);
415}
416
417
418static int startup(struct m68k_serial * info) 396static int startup(struct m68k_serial * info)
419{ 397{
420 m68328_uart *uart = &uart_addr[info->line]; 398 m68328_uart *uart = &uart_addr[info->line];
@@ -967,7 +945,7 @@ static void send_break(struct m68k_serial * info, unsigned int duration)
967 local_irq_restore(flags); 945 local_irq_restore(flags);
968} 946}
969 947
970static int rs_ioctl(struct tty_struct *tty, struct file * file, 948static int rs_ioctl(struct tty_struct *tty,
971 unsigned int cmd, unsigned long arg) 949 unsigned int cmd, unsigned long arg)
972{ 950{
973 struct m68k_serial * info = (struct m68k_serial *)tty->driver_data; 951 struct m68k_serial * info = (struct m68k_serial *)tty->driver_data;
@@ -1347,7 +1325,6 @@ rs68328_init(void)
1347 info->count = 0; 1325 info->count = 0;
1348 info->blocked_open = 0; 1326 info->blocked_open = 0;
1349 INIT_WORK(&info->tqueue, do_softint); 1327 INIT_WORK(&info->tqueue, do_softint);
1350 INIT_WORK(&info->tqueue_hangup, do_serial_hangup);
1351 init_waitqueue_head(&info->open_wait); 1328 init_waitqueue_head(&info->open_wait);
1352 init_waitqueue_head(&info->close_wait); 1329 init_waitqueue_head(&info->close_wait);
1353 info->line = i; 1330 info->line = i;