projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
KVM: MMU: Remove set_pde()
[cascardo/linux.git]
/
drivers
/
serial
/
serial_lh7a40x.c
diff --git
a/drivers/serial/serial_lh7a40x.c
b/drivers/serial/serial_lh7a40x.c
index
aa521b8
..
eb18d42
100644
(file)
--- a/
drivers/serial/serial_lh7a40x.c
+++ b/
drivers/serial/serial_lh7a40x.c
@@
-27,7
+27,6
@@
*
*/
*
*/
-#include <linux/config.h>
#if defined(CONFIG_SERIAL_LH7A40X_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
#define SUPPORT_SYSRQ
#if defined(CONFIG_SERIAL_LH7A40X_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
#define SUPPORT_SYSRQ
@@
-136,23
+135,19
@@
static void lh7a40xuart_enable_ms (struct uart_port* port)
BIT_SET (port, UART_R_INTEN, ModemInt);
}
BIT_SET (port, UART_R_INTEN, ModemInt);
}
-static void
-#ifdef SUPPORT_SYSRQ
-lh7a40xuart_rx_chars (struct uart_port* port, struct pt_regs* regs)
-#else
-lh7a40xuart_rx_chars (struct uart_port* port)
-#endif
+static void lh7a40xuart_rx_chars (struct uart_port* port)
{
struct tty_struct* tty = port->info->tty;
int cbRxMax = 256; /* (Gross) limit on receive */
{
struct tty_struct* tty = port->info->tty;
int cbRxMax = 256; /* (Gross) limit on receive */
- unsigned int data, flag;/* Received data and status */
+ unsigned int data; /* Received data and status */
+ unsigned int flag;
while (!(UR (port, UART_R_STATUS) & nRxRdy) && --cbRxMax) {
data = UR (port, UART_R_DATA);
flag = TTY_NORMAL;
++port->icount.rx;
while (!(UR (port, UART_R_STATUS) & nRxRdy) && --cbRxMax) {
data = UR (port, UART_R_DATA);
flag = TTY_NORMAL;
++port->icount.rx;
- if (unlikely(data & RxError)) {
/* Quick check, short-circuit */
+ if (unlikely(data & RxError)) {
if (data & RxBreak) {
data &= ~(RxFramingError | RxParityError);
++port->icount.brk;
if (data & RxBreak) {
data &= ~(RxFramingError | RxParityError);
++port->icount.brk;
@@
-177,7
+172,7
@@
lh7a40xuart_rx_chars (struct uart_port* port)
flag = TTY_FRAME;
}
flag = TTY_FRAME;
}
- if (uart_handle_sysrq_char (port, (unsigned char) data
, regs
))
+ if (uart_handle_sysrq_char (port, (unsigned char) data))
continue;
uart_insert_char(port, data, RxOverrunError, data, flag);
continue;
uart_insert_char(port, data, RxOverrunError, data, flag);
@@
-248,8
+243,7
@@
static void lh7a40xuart_modem_status (struct uart_port* port)
wake_up_interruptible (&port->info->delta_msr_wait);
}
wake_up_interruptible (&port->info->delta_msr_wait);
}
-static irqreturn_t lh7a40xuart_int (int irq, void* dev_id,
- struct pt_regs* regs)
+static irqreturn_t lh7a40xuart_int (int irq, void* dev_id)
{
struct uart_port* port = dev_id;
unsigned int cLoopLimit = ISR_LOOP_LIMIT;
{
struct uart_port* port = dev_id;
unsigned int cLoopLimit = ISR_LOOP_LIMIT;
@@
-258,11
+252,7
@@
static irqreturn_t lh7a40xuart_int (int irq, void* dev_id,
do {
if (isr & (RxInt | RxTimeoutInt))
do {
if (isr & (RxInt | RxTimeoutInt))
-#ifdef SUPPORT_SYSRQ
- lh7a40xuart_rx_chars(port, regs);
-#else
lh7a40xuart_rx_chars(port);
lh7a40xuart_rx_chars(port);
-#endif
if (isr & ModemInt)
lh7a40xuart_modem_status (port);
if (isr & TxInt)
if (isr & ModemInt)
lh7a40xuart_modem_status (port);
if (isr & TxInt)
@@
-303,7
+293,7
@@
static void lh7a40xuart_set_mctrl (struct uart_port* port, unsigned int mctrl)
/* Note, kernel appears to be setting DTR and RTS on console. */
/* *** FIXME: this deserves more work. There's some work in
/* Note, kernel appears to be setting DTR and RTS on console. */
/* *** FIXME: this deserves more work. There's some work in
-
tracing all of the IO pins. */
+ tracing all of the IO pins. */
#if 0
if( port->mapbase == UART1_PHYS) {
gpioRegs_t *gpio = (gpioRegs_t *)IO_ADDRESS(GPIO_PHYS);
#if 0
if( port->mapbase == UART1_PHYS) {
gpioRegs_t *gpio = (gpioRegs_t *)IO_ADDRESS(GPIO_PHYS);
@@
-358,8
+348,8
@@
static void lh7a40xuart_shutdown (struct uart_port* port)
}
static void lh7a40xuart_set_termios (struct uart_port* port,
}
static void lh7a40xuart_set_termios (struct uart_port* port,
- struct termios* termios,
- struct termios* old)
+ struct
k
termios* termios,
+ struct
k
termios* old)
{
unsigned int con;
unsigned int inten;
{
unsigned int con;
unsigned int inten;
@@
-662,9
+652,13
@@
static int __init lh7a40xuart_init(void)
if (ret == 0) {
int i;
if (ret == 0) {
int i;
- for (i = 0; i < DEV_NR; i++)
+ for (i = 0; i < DEV_NR; i++) {
+ /* UART3, when used, requires GPIO pin reallocation */
+ if (lh7a40x_ports[i].port.mapbase == UART3_PHYS)
+ GPIO_PINMUX |= 1<<3;
uart_add_one_port (&lh7a40x_reg,
&lh7a40x_ports[i].port);
uart_add_one_port (&lh7a40x_reg,
&lh7a40x_ports[i].port);
+ }
}
return ret;
}
}
return ret;
}