}
static void sunzilog_kbdms_receive_chars(struct uart_sunzilog_port *up,
- unsigned char ch, int is_break,
- struct pt_regs *regs)
+ unsigned char ch, int is_break)
{
if (ZS_IS_KEYB(up)) {
/* Stop-A is handled by drivers/char/keyboard.c now. */
#ifdef CONFIG_SERIO
if (up->serio_open)
- serio_interrupt(&up->serio, ch, 0, regs);
+ serio_interrupt(&up->serio, ch, 0);
#endif
} else if (ZS_IS_MOUSE(up)) {
int ret = suncore_mouse_baud_detection(ch, is_break);
case 0:
#ifdef CONFIG_SERIO
if (up->serio_open)
- serio_interrupt(&up->serio, ch, 0, regs);
+ serio_interrupt(&up->serio, ch, 0);
#endif
break;
};
static struct tty_struct *
sunzilog_receive_chars(struct uart_sunzilog_port *up,
- struct zilog_channel __iomem *channel,
- struct pt_regs *regs)
+ struct zilog_channel __iomem *channel)
{
struct tty_struct *tty;
unsigned char ch, r1, flag;
ch &= up->parity_mask;
if (unlikely(ZS_IS_KEYB(up)) || unlikely(ZS_IS_MOUSE(up))) {
- sunzilog_kbdms_receive_chars(up, ch, 0, regs);
+ sunzilog_kbdms_receive_chars(up, ch, 0);
continue;
}
if (tty == NULL) {
- uart_handle_sysrq_char(&up->port, ch, regs);
+ uart_handle_sysrq_char(&up->port, ch);
continue;
}
else if (r1 & CRC_ERR)
flag = TTY_FRAME;
}
- if (uart_handle_sysrq_char(&up->port, ch, regs))
+ if (uart_handle_sysrq_char(&up->port, ch))
continue;
if (up->port.ignore_status_mask == 0xff ||
}
static void sunzilog_status_handle(struct uart_sunzilog_port *up,
- struct zilog_channel __iomem *channel,
- struct pt_regs *regs)
+ struct zilog_channel __iomem *channel)
{
unsigned char status;
if (status & BRK_ABRT) {
if (ZS_IS_MOUSE(up))
- sunzilog_kbdms_receive_chars(up, 0, 1, regs);
+ sunzilog_kbdms_receive_chars(up, 0, 1);
if (ZS_IS_CONS(up)) {
/* Wait for BREAK to deassert to avoid potentially
* confusing the PROM.
ZS_WSYNC(channel);
}
-static irqreturn_t sunzilog_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t sunzilog_interrupt(int irq, void *dev_id)
{
struct uart_sunzilog_port *up = dev_id;
ZS_WSYNC(channel);
if (r3 & CHARxIP)
- tty = sunzilog_receive_chars(up, channel, regs);
+ tty = sunzilog_receive_chars(up, channel);
if (r3 & CHAEXT)
- sunzilog_status_handle(up, channel, regs);
+ sunzilog_status_handle(up, channel);
if (r3 & CHATxIP)
sunzilog_transmit_chars(up, channel);
}
ZS_WSYNC(channel);
if (r3 & CHBRxIP)
- tty = sunzilog_receive_chars(up, channel, regs);
+ tty = sunzilog_receive_chars(up, channel);
if (r3 & CHBEXT)
- sunzilog_status_handle(up, channel, regs);
+ sunzilog_status_handle(up, channel);
if (r3 & CHBTxIP)
sunzilog_transmit_chars(up, channel);
}