aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/pmac_zilog.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/serial/pmac_zilog.c')
-rw-r--r--drivers/serial/pmac_zilog.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/serial/pmac_zilog.c b/drivers/serial/pmac_zilog.c
index a3b99caf80e6..bf9809ed9c0b 100644
--- a/drivers/serial/pmac_zilog.c
+++ b/drivers/serial/pmac_zilog.c
@@ -204,8 +204,7 @@ static void pmz_maybe_update_regs(struct uart_pmac_port *uap)
204 } 204 }
205} 205}
206 206
207static struct tty_struct *pmz_receive_chars(struct uart_pmac_port *uap, 207static struct tty_struct *pmz_receive_chars(struct uart_pmac_port *uap)
208 struct pt_regs *regs)
209{ 208{
210 struct tty_struct *tty = NULL; 209 struct tty_struct *tty = NULL;
211 unsigned char ch, r1, drop, error, flag; 210 unsigned char ch, r1, drop, error, flag;
@@ -267,7 +266,7 @@ static struct tty_struct *pmz_receive_chars(struct uart_pmac_port *uap,
267 if (uap->port.sysrq) { 266 if (uap->port.sysrq) {
268 int swallow; 267 int swallow;
269 spin_unlock(&uap->port.lock); 268 spin_unlock(&uap->port.lock);
270 swallow = uart_handle_sysrq_char(&uap->port, ch, regs); 269 swallow = uart_handle_sysrq_char(&uap->port, ch);
271 spin_lock(&uap->port.lock); 270 spin_lock(&uap->port.lock);
272 if (swallow) 271 if (swallow)
273 goto next_char; 272 goto next_char;
@@ -335,7 +334,7 @@ static struct tty_struct *pmz_receive_chars(struct uart_pmac_port *uap,
335 return tty; 334 return tty;
336} 335}
337 336
338static void pmz_status_handle(struct uart_pmac_port *uap, struct pt_regs *regs) 337static void pmz_status_handle(struct uart_pmac_port *uap)
339{ 338{
340 unsigned char status; 339 unsigned char status;
341 340
@@ -438,7 +437,7 @@ ack_tx_int:
438} 437}
439 438
440/* Hrm... we register that twice, fixme later.... */ 439/* Hrm... we register that twice, fixme later.... */
441static irqreturn_t pmz_interrupt(int irq, void *dev_id, struct pt_regs *regs) 440static irqreturn_t pmz_interrupt(int irq, void *dev_id)
442{ 441{
443 struct uart_pmac_port *uap = dev_id; 442 struct uart_pmac_port *uap = dev_id;
444 struct uart_pmac_port *uap_a; 443 struct uart_pmac_port *uap_a;
@@ -462,9 +461,9 @@ static irqreturn_t pmz_interrupt(int irq, void *dev_id, struct pt_regs *regs)
462 write_zsreg(uap_a, R0, RES_H_IUS); 461 write_zsreg(uap_a, R0, RES_H_IUS);
463 zssync(uap_a); 462 zssync(uap_a);
464 if (r3 & CHAEXT) 463 if (r3 & CHAEXT)
465 pmz_status_handle(uap_a, regs); 464 pmz_status_handle(uap_a);
466 if (r3 & CHARxIP) 465 if (r3 & CHARxIP)
467 tty = pmz_receive_chars(uap_a, regs); 466 tty = pmz_receive_chars(uap_a);
468 if (r3 & CHATxIP) 467 if (r3 & CHATxIP)
469 pmz_transmit_chars(uap_a); 468 pmz_transmit_chars(uap_a);
470 rc = IRQ_HANDLED; 469 rc = IRQ_HANDLED;
@@ -482,9 +481,9 @@ static irqreturn_t pmz_interrupt(int irq, void *dev_id, struct pt_regs *regs)
482 write_zsreg(uap_b, R0, RES_H_IUS); 481 write_zsreg(uap_b, R0, RES_H_IUS);
483 zssync(uap_b); 482 zssync(uap_b);
484 if (r3 & CHBEXT) 483 if (r3 & CHBEXT)
485 pmz_status_handle(uap_b, regs); 484 pmz_status_handle(uap_b);
486 if (r3 & CHBRxIP) 485 if (r3 & CHBRxIP)
487 tty = pmz_receive_chars(uap_b, regs); 486 tty = pmz_receive_chars(uap_b);
488 if (r3 & CHBTxIP) 487 if (r3 & CHBTxIP)
489 pmz_transmit_chars(uap_b); 488 pmz_transmit_chars(uap_b);
490 rc = IRQ_HANDLED; 489 rc = IRQ_HANDLED;