diff options
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/8250.c | 2 | ||||
-rw-r--r-- | drivers/serial/Kconfig | 14 | ||||
-rw-r--r-- | drivers/serial/cpm_uart/cpm_uart_core.c | 12 | ||||
-rw-r--r-- | drivers/serial/icom.c | 1 | ||||
-rw-r--r-- | drivers/serial/jsm/jsm_neo.c | 7 | ||||
-rw-r--r-- | drivers/serial/jsm/jsm_tty.c | 1 | ||||
-rw-r--r-- | drivers/serial/s3c2410.c | 6 | ||||
-rw-r--r-- | drivers/serial/serial_txx9.c | 32 |
8 files changed, 29 insertions, 46 deletions
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index c9832d963f1..48e259a0167 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c @@ -994,7 +994,6 @@ static void autoconfig(struct uart_8250_port *up, unsigned int probeflags) * be frobbing the chips IRQ enable register to see if it exists. */ spin_lock_irqsave(&up->port.lock, flags); -// save_flags(flags); cli(); up->capabilities = 0; up->bugs = 0; @@ -1151,7 +1150,6 @@ static void autoconfig(struct uart_8250_port *up, unsigned int probeflags) out: spin_unlock_irqrestore(&up->port.lock, flags); -// restore_flags(flags); DEBUG_AUTOCONF("type=%s\n", uart_config[up->port.type].name); } diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 924e9bd757f..e8efe938c4e 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -73,17 +73,21 @@ config SERIAL_8250_PCI depends on SERIAL_8250 && PCI default SERIAL_8250 help - This builds standard PCI serial support. You may be able to - disable this feature if you only need legacy serial support. - Saves about 9K. + Say Y here if you have PCI serial ports. + + To compile this driver as a module, choose M here: the module + will be called 8250_pci. config SERIAL_8250_PNP tristate "8250/16550 PNP device support" if EMBEDDED depends on SERIAL_8250 && PNP default SERIAL_8250 help - This builds standard PNP serial support. You may be able to - disable this feature if you only need legacy serial support. + Say Y here if you have serial ports described by PNPBIOS or ACPI. + These are typically ports built into the system board. + + To compile this driver as a module, choose M here: the module + will be called 8250_pnp. config SERIAL_8250_HP300 tristate diff --git a/drivers/serial/cpm_uart/cpm_uart_core.c b/drivers/serial/cpm_uart/cpm_uart_core.c index 7a3b97fdf8d..f23972bc00c 100644 --- a/drivers/serial/cpm_uart/cpm_uart_core.c +++ b/drivers/serial/cpm_uart/cpm_uart_core.c @@ -934,7 +934,7 @@ struct uart_cpm_port cpm_uart_ports[UART_NR] = { .irq = SMC1_IRQ, .ops = &cpm_uart_pops, .iotype = UPIO_MEM, - .lock = SPIN_LOCK_UNLOCKED, + .lock = __SPIN_LOCK_UNLOCKED(cpm_uart_ports[UART_SMC1].port.lock), }, .flags = FLAG_SMC, .tx_nrfifos = TX_NUM_FIFO, @@ -948,7 +948,7 @@ struct uart_cpm_port cpm_uart_ports[UART_NR] = { .irq = SMC2_IRQ, .ops = &cpm_uart_pops, .iotype = UPIO_MEM, - .lock = SPIN_LOCK_UNLOCKED, + .lock = __SPIN_LOCK_UNLOCKED(cpm_uart_ports[UART_SMC2].port.lock), }, .flags = FLAG_SMC, .tx_nrfifos = TX_NUM_FIFO, @@ -965,7 +965,7 @@ struct uart_cpm_port cpm_uart_ports[UART_NR] = { .irq = SCC1_IRQ, .ops = &cpm_uart_pops, .iotype = UPIO_MEM, - .lock = SPIN_LOCK_UNLOCKED, + .lock = __SPIN_LOCK_UNLOCKED(cpm_uart_ports[UART_SCC1].port.lock), }, .tx_nrfifos = TX_NUM_FIFO, .tx_fifosize = TX_BUF_SIZE, @@ -979,7 +979,7 @@ struct uart_cpm_port cpm_uart_ports[UART_NR] = { .irq = SCC2_IRQ, .ops = &cpm_uart_pops, .iotype = UPIO_MEM, - .lock = SPIN_LOCK_UNLOCKED, + .lock = __SPIN_LOCK_UNLOCKED(cpm_uart_ports[UART_SCC2].port.lock), }, .tx_nrfifos = TX_NUM_FIFO, .tx_fifosize = TX_BUF_SIZE, @@ -993,7 +993,7 @@ struct uart_cpm_port cpm_uart_ports[UART_NR] = { .irq = SCC3_IRQ, .ops = &cpm_uart_pops, .iotype = UPIO_MEM, - .lock = SPIN_LOCK_UNLOCKED, + .lock = __SPIN_LOCK_UNLOCKED(cpm_uart_ports[UART_SCC3].port.lock), }, .tx_nrfifos = TX_NUM_FIFO, .tx_fifosize = TX_BUF_SIZE, @@ -1007,7 +1007,7 @@ struct uart_cpm_port cpm_uart_ports[UART_NR] = { .irq = SCC4_IRQ, .ops = &cpm_uart_pops, .iotype = UPIO_MEM, - .lock = SPIN_LOCK_UNLOCKED, + .lock = __SPIN_LOCK_UNLOCKED(cpm_uart_ports[UART_SCC4].port.lock), }, .tx_nrfifos = TX_NUM_FIFO, .tx_fifosize = TX_BUF_SIZE, diff --git a/drivers/serial/icom.c b/drivers/serial/icom.c index 246c5572667..6202995e821 100644 --- a/drivers/serial/icom.c +++ b/drivers/serial/icom.c @@ -47,7 +47,6 @@ #include <linux/pci.h> #include <linux/vmalloc.h> #include <linux/smp.h> -#include <linux/smp_lock.h> #include <linux/spinlock.h> #include <linux/kobject.h> #include <linux/firmware.h> diff --git a/drivers/serial/jsm/jsm_neo.c b/drivers/serial/jsm/jsm_neo.c index 8be8da37f62..b2d6f5b1a7c 100644 --- a/drivers/serial/jsm/jsm_neo.c +++ b/drivers/serial/jsm/jsm_neo.c @@ -581,8 +581,13 @@ static void neo_parse_modem(struct jsm_channel *ch, u8 signals) return; /* Scrub off lower bits. They signify delta's, which I don't care about */ - msignals &= 0xf0; + /* Keep DDCD and DDSR though */ + msignals &= 0xf8; + if (msignals & UART_MSR_DDCD) + uart_handle_dcd_change(&ch->uart_port, msignals & UART_MSR_DCD); + if (msignals & UART_MSR_DDSR) + uart_handle_cts_change(&ch->uart_port, msignals & UART_MSR_CTS); if (msignals & UART_MSR_DCD) ch->ch_mistat |= UART_MSR_DCD; else diff --git a/drivers/serial/jsm/jsm_tty.c b/drivers/serial/jsm/jsm_tty.c index be22bbdbc8e..281f23a371b 100644 --- a/drivers/serial/jsm/jsm_tty.c +++ b/drivers/serial/jsm/jsm_tty.c @@ -448,6 +448,7 @@ int jsm_uart_port_init(struct jsm_board *brd) continue; brd->channels[i]->uart_port.irq = brd->irq; + brd->channels[i]->uart_port.uartclk = 14745600; brd->channels[i]->uart_port.type = PORT_JSM; brd->channels[i]->uart_port.iotype = UPIO_MEM; brd->channels[i]->uart_port.membase = brd->re_map_membase; diff --git a/drivers/serial/s3c2410.c b/drivers/serial/s3c2410.c index 3ba9208ebd0..10bc0209cd6 100644 --- a/drivers/serial/s3c2410.c +++ b/drivers/serial/s3c2410.c @@ -957,7 +957,7 @@ static struct uart_driver s3c24xx_uart_drv = { static struct s3c24xx_uart_port s3c24xx_serial_ports[NR_PORTS] = { [0] = { .port = { - .lock = SPIN_LOCK_UNLOCKED, + .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[0].port.lock), .iotype = UPIO_MEM, .irq = IRQ_S3CUART_RX0, .uartclk = 0, @@ -969,7 +969,7 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[NR_PORTS] = { }, [1] = { .port = { - .lock = SPIN_LOCK_UNLOCKED, + .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[1].port.lock), .iotype = UPIO_MEM, .irq = IRQ_S3CUART_RX1, .uartclk = 0, @@ -983,7 +983,7 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[NR_PORTS] = { [2] = { .port = { - .lock = SPIN_LOCK_UNLOCKED, + .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[2].port.lock), .iotype = UPIO_MEM, .irq = IRQ_S3CUART_RX2, .uartclk = 0, diff --git a/drivers/serial/serial_txx9.c b/drivers/serial/serial_txx9.c index 509ace7e688..1deb5764326 100644 --- a/drivers/serial/serial_txx9.c +++ b/drivers/serial/serial_txx9.c @@ -15,31 +15,6 @@ * published by the Free Software Foundation. * * Serial driver for TX3927/TX4927/TX4925/TX4938 internal SIO controller - * - * Revision History: - * 0.30 Initial revision. (Renamed from serial_txx927.c) - * 0.31 Use save_flags instead of local_irq_save. - * 0.32 Support SCLK. - * 0.33 Switch TXX9_TTY_NAME by CONFIG_SERIAL_TXX9_STDSERIAL. - * Support TIOCSERGETLSR. - * 0.34 Support slow baudrate. - * 0.40 Merge codes from mainstream kernel (2.4.22). - * 0.41 Fix console checking in rs_shutdown_port(). - * Disable flow-control in serial_console_write(). - * 0.42 Fix minor compiler warning. - * 1.00 Kernel 2.6. Converted to new serial core (based on 8250.c). - * 1.01 Set fifosize to make tx_empry called properly. - * Use standard uart_get_divisor. - * 1.02 Cleanup. (import 8250.c changes) - * 1.03 Fix low-latency mode. (import 8250.c changes) - * 1.04 Remove usage of deprecated functions, cleanup. - * 1.05 More strict check in verify_port. Cleanup. - * 1.06 Do not insert a char caused previous overrun. - * Fix some spin_locks. - * Do not call uart_add_one_port for absent ports. - * 1.07 Use CONFIG_SERIAL_TXX9_NR_UARTS. Cleanup. - * 1.08 Use platform_device. - * Fix and cleanup suspend/resume/initialization codes. */ #if defined(CONFIG_SERIAL_TXX9_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ) @@ -62,7 +37,7 @@ #include <asm/io.h> -static char *serial_version = "1.08"; +static char *serial_version = "1.09"; static char *serial_name = "TX39/49 Serial driver"; #define PASS_LIMIT 256 @@ -70,13 +45,14 @@ static char *serial_name = "TX39/49 Serial driver"; #if !defined(CONFIG_SERIAL_TXX9_STDSERIAL) /* "ttyS" is used for standard serial driver */ #define TXX9_TTY_NAME "ttyTX" -#define TXX9_TTY_MINOR_START (64 + 64) /* ttyTX0(128), ttyTX1(129) */ +#define TXX9_TTY_MINOR_START 196 +#define TXX9_TTY_MAJOR 204 #else /* acts like standard serial driver */ #define TXX9_TTY_NAME "ttyS" #define TXX9_TTY_MINOR_START 64 -#endif #define TXX9_TTY_MAJOR TTY_MAJOR +#endif /* flag aliases */ #define UPF_TXX9_HAVE_CTS_LINE UPF_BUGGY_UART |