aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/sunsab.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/serial/sunsab.c')
-rw-r--r--drivers/serial/sunsab.c13
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
109static struct tty_struct * 109static struct tty_struct *
110receive_chars(struct uart_sunsab_port *up, 110receive_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
304static irqreturn_t sunsab_interrupt(int irq, void *dev_id, struct pt_regs *regs) 303static 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);