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/esp.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/esp.c')
-rw-r--r-- | drivers/char/esp.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/char/esp.c b/drivers/char/esp.c index a5c59fc2b0ff..b19d43cd9542 100644 --- a/drivers/char/esp.c +++ b/drivers/char/esp.c | |||
@@ -572,7 +572,7 @@ static void check_modem_status(struct esp_struct *info) | |||
572 | info->icount.dcd++; | 572 | info->icount.dcd++; |
573 | if (status & UART_MSR_DCTS) | 573 | if (status & UART_MSR_DCTS) |
574 | info->icount.cts++; | 574 | info->icount.cts++; |
575 | wake_up_interruptible(&info->delta_msr_wait); | 575 | wake_up_interruptible(&info->port.delta_msr_wait); |
576 | } | 576 | } |
577 | 577 | ||
578 | if ((info->port.flags & ASYNC_CHECK_CD) && (status & UART_MSR_DDCD)) { | 578 | if ((info->port.flags & ASYNC_CHECK_CD) && (status & UART_MSR_DDCD)) { |
@@ -927,7 +927,7 @@ static void shutdown(struct esp_struct *info) | |||
927 | * clear delta_msr_wait queue to avoid mem leaks: we may free the irq | 927 | * clear delta_msr_wait queue to avoid mem leaks: we may free the irq |
928 | * here so the queue might never be waken up | 928 | * here so the queue might never be waken up |
929 | */ | 929 | */ |
930 | wake_up_interruptible(&info->delta_msr_wait); | 930 | wake_up_interruptible(&info->port.delta_msr_wait); |
931 | wake_up_interruptible(&info->break_wait); | 931 | wake_up_interruptible(&info->break_wait); |
932 | 932 | ||
933 | /* stop a DMA transfer on the port being closed */ | 933 | /* stop a DMA transfer on the port being closed */ |
@@ -1800,7 +1800,7 @@ static int rs_ioctl(struct tty_struct *tty, struct file *file, | |||
1800 | spin_unlock_irqrestore(&info->lock, flags); | 1800 | spin_unlock_irqrestore(&info->lock, flags); |
1801 | while (1) { | 1801 | while (1) { |
1802 | /* FIXME: convert to new style wakeup */ | 1802 | /* FIXME: convert to new style wakeup */ |
1803 | interruptible_sleep_on(&info->delta_msr_wait); | 1803 | interruptible_sleep_on(&info->port.delta_msr_wait); |
1804 | /* see if a signal did it */ | 1804 | /* see if a signal did it */ |
1805 | if (signal_pending(current)) | 1805 | if (signal_pending(current)) |
1806 | return -ERESTARTSYS; | 1806 | return -ERESTARTSYS; |
@@ -2452,7 +2452,6 @@ static int __init espserial_init(void) | |||
2452 | info->config.flow_off = flow_off; | 2452 | info->config.flow_off = flow_off; |
2453 | info->config.pio_threshold = pio_threshold; | 2453 | info->config.pio_threshold = pio_threshold; |
2454 | info->next_port = ports; | 2454 | info->next_port = ports; |
2455 | init_waitqueue_head(&info->delta_msr_wait); | ||
2456 | init_waitqueue_head(&info->break_wait); | 2455 | init_waitqueue_head(&info->break_wait); |
2457 | ports = info; | 2456 | ports = info; |
2458 | printk(KERN_INFO "ttyP%d at 0x%04x (irq = %d) is an ESP ", | 2457 | printk(KERN_INFO "ttyP%d at 0x%04x (irq = %d) is an ESP ", |