diff options
| author | Russell King <rmk@flint.arm.linux.org.uk> | 2003-05-13 02:22:25 +0100 |
|---|---|---|
| committer | Russell King <rmk@flint.arm.linux.org.uk> | 2003-05-13 02:22:25 +0100 |
| commit | cb4169bc1fca8ee86e79ccfcc6a4586586cece42 (patch) | |
| tree | eddc1db4cf1bcea75be235db8b2a461581b4ee41 /drivers/serial | |
| parent | d24804947d7844e4cf116cb1e42d7abed9b06c5e (diff) | |
[ARM] Update a variety of ARM drivers to use irqreturn_t.
Diffstat (limited to 'drivers/serial')
| -rw-r--r-- | drivers/serial/21285.c | 16 | ||||
| -rw-r--r-- | drivers/serial/amba.c | 4 | ||||
| -rw-r--r-- | drivers/serial/sa1100.c | 6 |
3 files changed, 18 insertions, 8 deletions
diff --git a/drivers/serial/21285.c b/drivers/serial/21285.c index a5315c3100df..1ed0bfcfa1e4 100644 --- a/drivers/serial/21285.c +++ b/drivers/serial/21285.c @@ -85,7 +85,7 @@ static void serial21285_enable_ms(struct uart_port *port) { } -static void serial21285_rx_chars(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t serial21285_rx_chars(int irq, void *dev_id, struct pt_regs *regs) { struct uart_port *port = dev_id; struct tty_struct *tty = port->info->tty; @@ -97,7 +97,7 @@ static void serial21285_rx_chars(int irq, void *dev_id, struct pt_regs *regs) tty->flip.work.func((void *)tty); if (tty->flip.count >= TTY_FLIPBUF_SIZE) { printk(KERN_WARNING "TTY_DONT_FLIP set\n"); - return; + goto out; } } @@ -143,9 +143,12 @@ static void serial21285_rx_chars(int irq, void *dev_id, struct pt_regs *regs) status = *CSR_UARTFLG; } tty_flip_buffer_push(tty); + + out: + return IRQ_HANDLED; } -static void serial21285_tx_chars(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t serial21285_tx_chars(int irq, void *dev_id, struct pt_regs *regs) { struct uart_port *port = dev_id; struct circ_buf *xmit = &port->info->xmit; @@ -155,11 +158,11 @@ static void serial21285_tx_chars(int irq, void *dev_id, struct pt_regs *regs) *CSR_UARTDR = port->x_char; port->icount.tx++; port->x_char = 0; - return; + goto out; } if (uart_circ_empty(xmit) || uart_tx_stopped(port)) { serial21285_stop_tx(port, 0); - return; + goto out; } do { @@ -175,6 +178,9 @@ static void serial21285_tx_chars(int irq, void *dev_id, struct pt_regs *regs) if (uart_circ_empty(xmit)) serial21285_stop_tx(port, 0); + + out: + return IRQ_HANDLED; } static unsigned int serial21285_tx_empty(struct uart_port *port) diff --git a/drivers/serial/amba.c b/drivers/serial/amba.c index 7ffa50b6f00b..34ae5a57b1bf 100644 --- a/drivers/serial/amba.c +++ b/drivers/serial/amba.c @@ -278,7 +278,7 @@ static void ambauart_modem_status(struct uart_port *port) wake_up_interruptible(&uap->port.info->delta_msr_wait); } -static void ambauart_int(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t ambauart_int(int irq, void *dev_id, struct pt_regs *regs) { struct uart_port *port = dev_id; unsigned int status, pass_counter = AMBA_ISR_PASS_LIMIT; @@ -302,6 +302,8 @@ static void ambauart_int(int irq, void *dev_id, struct pt_regs *regs) status = UART_GET_INT_STATUS(port); } while (status & (AMBA_UARTIIR_RTIS | AMBA_UARTIIR_RIS | AMBA_UARTIIR_TIS)); + + return IRQ_HANDLED; } static unsigned int ambauart_tx_empty(struct uart_port *port) diff --git a/drivers/serial/sa1100.c b/drivers/serial/sa1100.c index 98e8231ec722..d7765bf8f224 100644 --- a/drivers/serial/sa1100.c +++ b/drivers/serial/sa1100.c @@ -312,7 +312,7 @@ static void sa1100_tx_chars(struct sa1100_port *sport) sa1100_stop_tx(&sport->port, 0); } -static void sa1100_int(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t sa1100_int(int irq, void *dev_id, struct pt_regs *regs) { struct sa1100_port *sport = dev_id; unsigned int status, pass_counter = 0; @@ -347,6 +347,8 @@ static void sa1100_int(int irq, void *dev_id, struct pt_regs *regs) ~UTSR0_TFS; } while (status & (UTSR0_TFS | UTSR0_RFS | UTSR0_RID)); spin_unlock(&sport->port.lock); + + return IRQ_HANDLED; } /* @@ -830,7 +832,7 @@ static struct console sa1100_console = { .setup = sa1100_console_setup, .flags = CON_PRINTBUFFER, .index = -1, - .data = sa1100_reg, + .data = &sa1100_reg, }; static int __init sa1100_rs_console_init(void) |
