diff options
Diffstat (limited to 'drivers/serial/amba-pl011.c')
-rw-r--r-- | drivers/serial/amba-pl011.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c index a8d7124e84a1..d503625730df 100644 --- a/drivers/serial/amba-pl011.c +++ b/drivers/serial/amba-pl011.c | |||
@@ -107,12 +107,7 @@ static void pl011_enable_ms(struct uart_port *port) | |||
107 | writew(uap->im, uap->port.membase + UART011_IMSC); | 107 | writew(uap->im, uap->port.membase + UART011_IMSC); |
108 | } | 108 | } |
109 | 109 | ||
110 | static void | 110 | static void pl011_rx_chars(struct uart_amba_port *uap) |
111 | #ifdef SUPPORT_SYSRQ | ||
112 | pl011_rx_chars(struct uart_amba_port *uap, struct pt_regs *regs) | ||
113 | #else | ||
114 | pl011_rx_chars(struct uart_amba_port *uap) | ||
115 | #endif | ||
116 | { | 111 | { |
117 | struct tty_struct *tty = uap->port.info->tty; | 112 | struct tty_struct *tty = uap->port.info->tty; |
118 | unsigned int status, ch, flag, max_count = 256; | 113 | unsigned int status, ch, flag, max_count = 256; |
@@ -150,7 +145,7 @@ pl011_rx_chars(struct uart_amba_port *uap) | |||
150 | flag = TTY_FRAME; | 145 | flag = TTY_FRAME; |
151 | } | 146 | } |
152 | 147 | ||
153 | if (uart_handle_sysrq_char(&uap->port, ch & 255, regs)) | 148 | if (uart_handle_sysrq_char(&uap->port, ch & 255)) |
154 | goto ignore_char; | 149 | goto ignore_char; |
155 | 150 | ||
156 | uart_insert_char(&uap->port, ch, UART011_DR_OE, ch, flag); | 151 | uart_insert_char(&uap->port, ch, UART011_DR_OE, ch, flag); |
@@ -218,7 +213,7 @@ static void pl011_modem_status(struct uart_amba_port *uap) | |||
218 | wake_up_interruptible(&uap->port.info->delta_msr_wait); | 213 | wake_up_interruptible(&uap->port.info->delta_msr_wait); |
219 | } | 214 | } |
220 | 215 | ||
221 | static irqreturn_t pl011_int(int irq, void *dev_id, struct pt_regs *regs) | 216 | static irqreturn_t pl011_int(int irq, void *dev_id) |
222 | { | 217 | { |
223 | struct uart_amba_port *uap = dev_id; | 218 | struct uart_amba_port *uap = dev_id; |
224 | unsigned int status, pass_counter = AMBA_ISR_PASS_LIMIT; | 219 | unsigned int status, pass_counter = AMBA_ISR_PASS_LIMIT; |
@@ -234,11 +229,7 @@ static irqreturn_t pl011_int(int irq, void *dev_id, struct pt_regs *regs) | |||
234 | uap->port.membase + UART011_ICR); | 229 | uap->port.membase + UART011_ICR); |
235 | 230 | ||
236 | if (status & (UART011_RTIS|UART011_RXIS)) | 231 | if (status & (UART011_RTIS|UART011_RXIS)) |
237 | #ifdef SUPPORT_SYSRQ | ||
238 | pl011_rx_chars(uap, regs); | ||
239 | #else | ||
240 | pl011_rx_chars(uap); | 232 | pl011_rx_chars(uap); |
241 | #endif | ||
242 | if (status & (UART011_DSRMIS|UART011_DCDMIS| | 233 | if (status & (UART011_DSRMIS|UART011_DCDMIS| |
243 | UART011_CTSMIS|UART011_RIMIS)) | 234 | UART011_CTSMIS|UART011_RIMIS)) |
244 | pl011_modem_status(uap); | 235 | pl011_modem_status(uap); |