aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/68328serial.c
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@snapgear.com>2007-07-25 08:07:20 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-25 14:05:01 -0400
commit931f9cde5c3f9dc7827759db258eaf979bfa92b6 (patch)
tree6be964d788d81f8fc2c5740d560063c9c8b8d655 /drivers/serial/68328serial.c
parenta427138712f388987aa13475bf591685b6b8cd46 (diff)
m68knommu: fix workqueues in 68328 serial driver
Fix workqueues in 68328 serial driver. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/serial/68328serial.c')
-rw-r--r--drivers/serial/68328serial.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/serial/68328serial.c b/drivers/serial/68328serial.c
index 151bd9ad3ab2..aad4012bbb30 100644
--- a/drivers/serial/68328serial.c
+++ b/drivers/serial/68328serial.c
@@ -400,9 +400,9 @@ irqreturn_t rs_interrupt(int irq, void *dev_id)
400 return IRQ_HANDLED; 400 return IRQ_HANDLED;
401} 401}
402 402
403static void do_softint(void *private) 403static void do_softint(struct work_struct *work)
404{ 404{
405 struct m68k_serial *info = (struct m68k_serial *) private; 405 struct m68k_serial *info = container_of(work, struct m68k_serial, tqueue);
406 struct tty_struct *tty; 406 struct tty_struct *tty;
407 407
408 tty = info->tty; 408 tty = info->tty;
@@ -424,9 +424,9 @@ static void do_softint(void *private)
424 * do_serial_hangup() -> tty->hangup() -> rs_hangup() 424 * do_serial_hangup() -> tty->hangup() -> rs_hangup()
425 * 425 *
426 */ 426 */
427static void do_serial_hangup(void *private) 427static void do_serial_hangup(struct work_struct *work)
428{ 428{
429 struct m68k_serial *info = (struct m68k_serial *) private; 429 struct m68k_serial *info = container_of(work, struct m68k_serial, tqueue_hangup);
430 struct tty_struct *tty; 430 struct tty_struct *tty;
431 431
432 tty = info->tty; 432 tty = info->tty;
@@ -1390,8 +1390,8 @@ rs68328_init(void)
1390 info->event = 0; 1390 info->event = 0;
1391 info->count = 0; 1391 info->count = 0;
1392 info->blocked_open = 0; 1392 info->blocked_open = 0;
1393 INIT_WORK(&info->tqueue, do_softint, info); 1393 INIT_WORK(&info->tqueue, do_softint);
1394 INIT_WORK(&info->tqueue_hangup, do_serial_hangup, info); 1394 INIT_WORK(&info->tqueue_hangup, do_serial_hangup);
1395 init_waitqueue_head(&info->open_wait); 1395 init_waitqueue_head(&info->open_wait);
1396 init_waitqueue_head(&info->close_wait); 1396 init_waitqueue_head(&info->close_wait);
1397 info->line = i; 1397 info->line = i;