diff options
author | Alan Cox <alan@linux.intel.com> | 2009-09-19 16:13:31 -0400 |
---|---|---|
committer | Live-CD User <linux@linux.site> | 2009-09-19 16:13:31 -0400 |
commit | bdc04e3174e18f475289fa8f4144f66686326b7e (patch) | |
tree | c0bf03c8d6df1629bfa26b686fe65ffb0c87aeb7 /drivers/char/cyclades.c | |
parent | a2bceae065ed8c4f552b35c4dde4cc2db05ce9e3 (diff) |
serial: move delta_msr_wait into the tty_port
This is used by various drivers not just serial and can be extracted
as commonality
Signed-off-by: Alan Cox <alan@linux.intel.com>
Diffstat (limited to 'drivers/char/cyclades.c')
-rw-r--r-- | drivers/char/cyclades.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c index 70bd61b2a7d7..df5038bbcbc2 100644 --- a/drivers/char/cyclades.c +++ b/drivers/char/cyclades.c | |||
@@ -729,7 +729,7 @@ static void cyy_chip_modem(struct cyclades_card *cinfo, int chip, | |||
729 | if (mdm_change & CyRI) | 729 | if (mdm_change & CyRI) |
730 | info->icount.rng++; | 730 | info->icount.rng++; |
731 | 731 | ||
732 | wake_up_interruptible(&info->delta_msr_wait); | 732 | wake_up_interruptible(&info->port.delta_msr_wait); |
733 | } | 733 | } |
734 | 734 | ||
735 | if ((mdm_change & CyDCD) && (info->port.flags & ASYNC_CHECK_CD)) { | 735 | if ((mdm_change & CyDCD) && (info->port.flags & ASYNC_CHECK_CD)) { |
@@ -1197,7 +1197,7 @@ static void cyz_handle_cmd(struct cyclades_card *cinfo) | |||
1197 | break; | 1197 | break; |
1198 | } | 1198 | } |
1199 | if (delta_count) | 1199 | if (delta_count) |
1200 | wake_up_interruptible(&info->delta_msr_wait); | 1200 | wake_up_interruptible(&info->port.delta_msr_wait); |
1201 | if (special_count) | 1201 | if (special_count) |
1202 | tty_schedule_flip(tty); | 1202 | tty_schedule_flip(tty); |
1203 | tty_kref_put(tty); | 1203 | tty_kref_put(tty); |
@@ -1464,7 +1464,7 @@ static void cy_shutdown(struct cyclades_port *info, struct tty_struct *tty) | |||
1464 | spin_lock_irqsave(&card->card_lock, flags); | 1464 | spin_lock_irqsave(&card->card_lock, flags); |
1465 | 1465 | ||
1466 | /* Clear delta_msr_wait queue to avoid mem leaks. */ | 1466 | /* Clear delta_msr_wait queue to avoid mem leaks. */ |
1467 | wake_up_interruptible(&info->delta_msr_wait); | 1467 | wake_up_interruptible(&info->port.delta_msr_wait); |
1468 | 1468 | ||
1469 | if (info->port.xmit_buf) { | 1469 | if (info->port.xmit_buf) { |
1470 | unsigned char *temp; | 1470 | unsigned char *temp; |
@@ -2788,7 +2788,7 @@ cy_ioctl(struct tty_struct *tty, struct file *file, | |||
2788 | /* note the counters on entry */ | 2788 | /* note the counters on entry */ |
2789 | cnow = info->icount; | 2789 | cnow = info->icount; |
2790 | spin_unlock_irqrestore(&info->card->card_lock, flags); | 2790 | spin_unlock_irqrestore(&info->card->card_lock, flags); |
2791 | ret_val = wait_event_interruptible(info->delta_msr_wait, | 2791 | ret_val = wait_event_interruptible(info->port.delta_msr_wait, |
2792 | cy_cflags_changed(info, arg, &cnow)); | 2792 | cy_cflags_changed(info, arg, &cnow)); |
2793 | break; | 2793 | break; |
2794 | 2794 | ||
@@ -3153,7 +3153,6 @@ static int __devinit cy_init_card(struct cyclades_card *cinfo) | |||
3153 | info->port.close_delay = 5 * HZ / 10; | 3153 | info->port.close_delay = 5 * HZ / 10; |
3154 | info->port.flags = STD_COM_FLAGS; | 3154 | info->port.flags = STD_COM_FLAGS; |
3155 | init_completion(&info->shutdown_wait); | 3155 | init_completion(&info->shutdown_wait); |
3156 | init_waitqueue_head(&info->delta_msr_wait); | ||
3157 | 3156 | ||
3158 | if (cy_is_Z(cinfo)) { | 3157 | if (cy_is_Z(cinfo)) { |
3159 | struct FIRM_ID *firm_id = cinfo->base_addr + ID_ADDRESS; | 3158 | struct FIRM_ID *firm_id = cinfo->base_addr + ID_ADDRESS; |