{
}
-static void clps711xuart_int_rx(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t clps711xuart_int_rx(int irq, void *dev_id, struct pt_regs *regs)
{
struct uart_port *port = dev_id;
struct tty_struct *tty = port->info->tty;
}
out:
tty_flip_buffer_push(tty);
- return;
+ return IRQ_HANDLED;
handle_error:
if (ch & UARTDR_PARERR)
goto error_return;
}
-static void clps711xuart_int_tx(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t clps711xuart_int_tx(int irq, void *dev_id, struct pt_regs *regs)
{
struct uart_port *port = dev_id;
struct circ_buf *xmit = &port->info->xmit;
clps_writel(port->x_char, UARTDR(port));
port->icount.tx++;
port->x_char = 0;
- return;
+ return IRQ_HANDLED;
}
if (uart_circ_empty(xmit) || uart_tx_stopped(port)) {
clps711xuart_stop_tx(port, 0);
- return;
+ return IRQ_HANDLED;
}
count = port->fifosize >> 1;
if (uart_circ_empty(xmit))
clps711xuart_stop_tx(port, 0);
+
+ return IRQ_HANDLED;
}
static unsigned int clps711xuart_tx_empty(struct uart_port *port)