diff options
Diffstat (limited to 'drivers/serial/sunsab.c')
-rw-r--r-- | drivers/serial/sunsab.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c index cfe20f730436..08a7cd6a3a0c 100644 --- a/drivers/serial/sunsab.c +++ b/drivers/serial/sunsab.c | |||
@@ -108,8 +108,7 @@ static __inline__ void sunsab_cec_wait(struct uart_sunsab_port *up) | |||
108 | 108 | ||
109 | static struct tty_struct * | 109 | static struct tty_struct * |
110 | receive_chars(struct uart_sunsab_port *up, | 110 | receive_chars(struct uart_sunsab_port *up, |
111 | union sab82532_irq_status *stat, | 111 | union sab82532_irq_status *stat) |
112 | struct pt_regs *regs) | ||
113 | { | 112 | { |
114 | struct tty_struct *tty = NULL; | 113 | struct tty_struct *tty = NULL; |
115 | unsigned char buf[32]; | 114 | unsigned char buf[32]; |
@@ -161,7 +160,7 @@ receive_chars(struct uart_sunsab_port *up, | |||
161 | unsigned char ch = buf[i], flag; | 160 | unsigned char ch = buf[i], flag; |
162 | 161 | ||
163 | if (tty == NULL) { | 162 | if (tty == NULL) { |
164 | uart_handle_sysrq_char(&up->port, ch, regs); | 163 | uart_handle_sysrq_char(&up->port, ch); |
165 | continue; | 164 | continue; |
166 | } | 165 | } |
167 | 166 | ||
@@ -208,7 +207,7 @@ receive_chars(struct uart_sunsab_port *up, | |||
208 | flag = TTY_FRAME; | 207 | flag = TTY_FRAME; |
209 | } | 208 | } |
210 | 209 | ||
211 | if (uart_handle_sysrq_char(&up->port, ch, regs)) | 210 | if (uart_handle_sysrq_char(&up->port, ch)) |
212 | continue; | 211 | continue; |
213 | 212 | ||
214 | if ((stat->sreg.isr0 & (up->port.ignore_status_mask & 0xff)) == 0 && | 213 | if ((stat->sreg.isr0 & (up->port.ignore_status_mask & 0xff)) == 0 && |
@@ -301,7 +300,7 @@ static void check_status(struct uart_sunsab_port *up, | |||
301 | wake_up_interruptible(&up->port.info->delta_msr_wait); | 300 | wake_up_interruptible(&up->port.info->delta_msr_wait); |
302 | } | 301 | } |
303 | 302 | ||
304 | static irqreturn_t sunsab_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 303 | static irqreturn_t sunsab_interrupt(int irq, void *dev_id) |
305 | { | 304 | { |
306 | struct uart_sunsab_port *up = dev_id; | 305 | struct uart_sunsab_port *up = dev_id; |
307 | struct tty_struct *tty; | 306 | struct tty_struct *tty; |
@@ -321,7 +320,7 @@ static irqreturn_t sunsab_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
321 | if ((status.sreg.isr0 & (SAB82532_ISR0_TCD | SAB82532_ISR0_TIME | | 320 | if ((status.sreg.isr0 & (SAB82532_ISR0_TCD | SAB82532_ISR0_TIME | |
322 | SAB82532_ISR0_RFO | SAB82532_ISR0_RPF)) || | 321 | SAB82532_ISR0_RFO | SAB82532_ISR0_RPF)) || |
323 | (status.sreg.isr1 & SAB82532_ISR1_BRK)) | 322 | (status.sreg.isr1 & SAB82532_ISR1_BRK)) |
324 | tty = receive_chars(up, &status, regs); | 323 | tty = receive_chars(up, &status); |
325 | if ((status.sreg.isr0 & SAB82532_ISR0_CDSC) || | 324 | if ((status.sreg.isr0 & SAB82532_ISR0_CDSC) || |
326 | (status.sreg.isr1 & SAB82532_ISR1_CSC)) | 325 | (status.sreg.isr1 & SAB82532_ISR1_CSC)) |
327 | check_status(up, &status); | 326 | check_status(up, &status); |
@@ -350,7 +349,7 @@ static irqreturn_t sunsab_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
350 | SAB82532_ISR0_RFO | SAB82532_ISR0_RPF)) || | 349 | SAB82532_ISR0_RFO | SAB82532_ISR0_RPF)) || |
351 | (status.sreg.isr1 & SAB82532_ISR1_BRK)) | 350 | (status.sreg.isr1 & SAB82532_ISR1_BRK)) |
352 | 351 | ||
353 | tty = receive_chars(up, &status, regs); | 352 | tty = receive_chars(up, &status); |
354 | if ((status.sreg.isr0 & SAB82532_ISR0_CDSC) || | 353 | if ((status.sreg.isr0 & SAB82532_ISR0_CDSC) || |
355 | (status.sreg.isr1 & (SAB82532_ISR1_BRK | SAB82532_ISR1_CSC))) | 354 | (status.sreg.isr1 & (SAB82532_ISR1_BRK | SAB82532_ISR1_CSC))) |
356 | check_status(up, &status); | 355 | check_status(up, &status); |