aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2006-12-03 23:59:07 -0500
committerPaul Mackerras <paulus@samba.org>2006-12-03 23:59:07 -0500
commit79acbb3ff2d8095b692e1502b9eb2ccec348de26 (patch)
tree6ab773e5a8f9de2cd6443362b21d0d6fffe3b35e /drivers/serial
parent19a79859e168640f8e16d7b216d211c1c52b687a (diff)
parent2b5f6dcce5bf94b9b119e9ed8d537098ec61c3d2 (diff)
Merge branch 'linux-2.6' into for-linus
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/Kconfig12
-rw-r--r--drivers/serial/cpm_uart/cpm_uart.h2
-rw-r--r--drivers/serial/cpm_uart/cpm_uart_core.c16
-rw-r--r--drivers/serial/cpm_uart/cpm_uart_cpm1.c2
-rw-r--r--drivers/serial/ioc4_serial.c6
5 files changed, 19 insertions, 19 deletions
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index b0d502622d94..0b71e7d18903 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -767,37 +767,37 @@ config SERIAL_CPM_SCC1
767 bool "Support for SCC1 serial port" 767 bool "Support for SCC1 serial port"
768 depends on SERIAL_CPM=y 768 depends on SERIAL_CPM=y
769 help 769 help
770 Select the is option to use SCC1 as a serial port 770 Select this option to use SCC1 as a serial port
771 771
772config SERIAL_CPM_SCC2 772config SERIAL_CPM_SCC2
773 bool "Support for SCC2 serial port" 773 bool "Support for SCC2 serial port"
774 depends on SERIAL_CPM=y 774 depends on SERIAL_CPM=y
775 help 775 help
776 Select the is option to use SCC2 as a serial port 776 Select this option to use SCC2 as a serial port
777 777
778config SERIAL_CPM_SCC3 778config SERIAL_CPM_SCC3
779 bool "Support for SCC3 serial port" 779 bool "Support for SCC3 serial port"
780 depends on SERIAL_CPM=y 780 depends on SERIAL_CPM=y
781 help 781 help
782 Select the is option to use SCC3 as a serial port 782 Select this option to use SCC3 as a serial port
783 783
784config SERIAL_CPM_SCC4 784config SERIAL_CPM_SCC4
785 bool "Support for SCC4 serial port" 785 bool "Support for SCC4 serial port"
786 depends on SERIAL_CPM=y 786 depends on SERIAL_CPM=y
787 help 787 help
788 Select the is option to use SCC4 as a serial port 788 Select this option to use SCC4 as a serial port
789 789
790config SERIAL_CPM_SMC1 790config SERIAL_CPM_SMC1
791 bool "Support for SMC1 serial port" 791 bool "Support for SMC1 serial port"
792 depends on SERIAL_CPM=y 792 depends on SERIAL_CPM=y
793 help 793 help
794 Select the is option to use SMC1 as a serial port 794 Select this option to use SMC1 as a serial port
795 795
796config SERIAL_CPM_SMC2 796config SERIAL_CPM_SMC2
797 bool "Support for SMC2 serial port" 797 bool "Support for SMC2 serial port"
798 depends on SERIAL_CPM=y 798 depends on SERIAL_CPM=y
799 help 799 help
800 Select the is option to use SMC2 as a serial port 800 Select this option to use SMC2 as a serial port
801 801
802config SERIAL_SGI_L1_CONSOLE 802config SERIAL_SGI_L1_CONSOLE
803 bool "SGI Altix L1 serial console support" 803 bool "SGI Altix L1 serial console support"
diff --git a/drivers/serial/cpm_uart/cpm_uart.h b/drivers/serial/cpm_uart/cpm_uart.h
index a8f894c78194..69715e556506 100644
--- a/drivers/serial/cpm_uart/cpm_uart.h
+++ b/drivers/serial/cpm_uart/cpm_uart.h
@@ -88,7 +88,7 @@ extern struct uart_cpm_port cpm_uart_ports[UART_NR];
88 88
89/* these are located in their respective files */ 89/* these are located in their respective files */
90void cpm_line_cr_cmd(int line, int cmd); 90void cpm_line_cr_cmd(int line, int cmd);
91int cpm_uart_init_portdesc(void); 91int __init cpm_uart_init_portdesc(void);
92int cpm_uart_allocbuf(struct uart_cpm_port *pinfo, unsigned int is_con); 92int cpm_uart_allocbuf(struct uart_cpm_port *pinfo, unsigned int is_con);
93void cpm_uart_freebuf(struct uart_cpm_port *pinfo); 93void cpm_uart_freebuf(struct uart_cpm_port *pinfo);
94 94
diff --git a/drivers/serial/cpm_uart/cpm_uart_core.c b/drivers/serial/cpm_uart/cpm_uart_core.c
index 0abb544ae63d..7a3b97fdf8d1 100644
--- a/drivers/serial/cpm_uart/cpm_uart_core.c
+++ b/drivers/serial/cpm_uart/cpm_uart_core.c
@@ -195,10 +195,8 @@ static void cpm_uart_start_tx(struct uart_port *port)
195 if (cpm_uart_tx_pump(port) != 0) { 195 if (cpm_uart_tx_pump(port) != 0) {
196 if (IS_SMC(pinfo)) { 196 if (IS_SMC(pinfo)) {
197 smcp->smc_smcm |= SMCM_TX; 197 smcp->smc_smcm |= SMCM_TX;
198 smcp->smc_smcmr |= SMCMR_TEN;
199 } else { 198 } else {
200 sccp->scc_sccm |= UART_SCCM_TX; 199 sccp->scc_sccm |= UART_SCCM_TX;
201 pinfo->sccp->scc_gsmrl |= SCC_GSMRL_ENT;
202 } 200 }
203 } 201 }
204} 202}
@@ -421,9 +419,10 @@ static int cpm_uart_startup(struct uart_port *port)
421 /* Startup rx-int */ 419 /* Startup rx-int */
422 if (IS_SMC(pinfo)) { 420 if (IS_SMC(pinfo)) {
423 pinfo->smcp->smc_smcm |= SMCM_RX; 421 pinfo->smcp->smc_smcm |= SMCM_RX;
424 pinfo->smcp->smc_smcmr |= SMCMR_REN; 422 pinfo->smcp->smc_smcmr |= (SMCMR_REN | SMCMR_TEN);
425 } else { 423 } else {
426 pinfo->sccp->scc_sccm |= UART_SCCM_RX; 424 pinfo->sccp->scc_sccm |= UART_SCCM_RX;
425 pinfo->sccp->scc_gsmrl |= (SCC_GSMRL_ENR | SCC_GSMRL_ENT);
427 } 426 }
428 427
429 if (!(pinfo->flags & FLAG_CONSOLE)) 428 if (!(pinfo->flags & FLAG_CONSOLE))
@@ -1350,11 +1349,10 @@ static int cpm_uart_init(void) {
1350 pr_info("cpm_uart: WARNING: no UART devices found on platform bus!\n"); 1349 pr_info("cpm_uart: WARNING: no UART devices found on platform bus!\n");
1351 pr_info( 1350 pr_info(
1352 "cpm_uart: the driver will guess configuration, but this mode is no longer supported.\n"); 1351 "cpm_uart: the driver will guess configuration, but this mode is no longer supported.\n");
1353#ifndef CONFIG_SERIAL_CPM_CONSOLE 1352
1354 ret = cpm_uart_init_portdesc(); 1353 /* Don't run this again, if the console driver did it already */
1355 if (ret) 1354 if (cpm_uart_nr == 0)
1356 return ret; 1355 cpm_uart_init_portdesc();
1357#endif
1358 1356
1359 cpm_reg.nr = cpm_uart_nr; 1357 cpm_reg.nr = cpm_uart_nr;
1360 ret = uart_register_driver(&cpm_reg); 1358 ret = uart_register_driver(&cpm_reg);
@@ -1366,6 +1364,8 @@ static int cpm_uart_init(void) {
1366 int con = cpm_uart_port_map[i]; 1364 int con = cpm_uart_port_map[i];
1367 cpm_uart_ports[con].port.line = i; 1365 cpm_uart_ports[con].port.line = i;
1368 cpm_uart_ports[con].port.flags = UPF_BOOT_AUTOCONF; 1366 cpm_uart_ports[con].port.flags = UPF_BOOT_AUTOCONF;
1367 if (cpm_uart_ports[con].set_lineif)
1368 cpm_uart_ports[con].set_lineif(&cpm_uart_ports[con]);
1369 uart_add_one_port(&cpm_reg, &cpm_uart_ports[con].port); 1369 uart_add_one_port(&cpm_reg, &cpm_uart_ports[con].port);
1370 } 1370 }
1371 1371
diff --git a/drivers/serial/cpm_uart/cpm_uart_cpm1.c b/drivers/serial/cpm_uart/cpm_uart_cpm1.c
index 95afc37297a8..08e55fdc882a 100644
--- a/drivers/serial/cpm_uart/cpm_uart_cpm1.c
+++ b/drivers/serial/cpm_uart/cpm_uart_cpm1.c
@@ -184,7 +184,7 @@ void cpm_uart_freebuf(struct uart_cpm_port *pinfo)
184} 184}
185 185
186/* Setup any dynamic params in the uart desc */ 186/* Setup any dynamic params in the uart desc */
187int cpm_uart_init_portdesc(void) 187int __init cpm_uart_init_portdesc(void)
188{ 188{
189 pr_debug("CPM uart[-]:init portdesc\n"); 189 pr_debug("CPM uart[-]:init portdesc\n");
190 190
diff --git a/drivers/serial/ioc4_serial.c b/drivers/serial/ioc4_serial.c
index 98ce88d80207..711bd1511439 100644
--- a/drivers/serial/ioc4_serial.c
+++ b/drivers/serial/ioc4_serial.c
@@ -921,7 +921,7 @@ static void handle_dma_error_intr(void *arg, uint32_t other_ir)
921{ 921{
922 struct ioc4_port *port = (struct ioc4_port *)arg; 922 struct ioc4_port *port = (struct ioc4_port *)arg;
923 struct hooks *hooks = port->ip_hooks; 923 struct hooks *hooks = port->ip_hooks;
924 unsigned int flags; 924 unsigned long flags;
925 925
926 spin_lock_irqsave(&port->ip_lock, flags); 926 spin_lock_irqsave(&port->ip_lock, flags);
927 927
@@ -1834,7 +1834,7 @@ static void handle_intr(void *arg, uint32_t sio_ir)
1834 struct ioc4_port *port = (struct ioc4_port *)arg; 1834 struct ioc4_port *port = (struct ioc4_port *)arg;
1835 struct hooks *hooks = port->ip_hooks; 1835 struct hooks *hooks = port->ip_hooks;
1836 unsigned int rx_high_rd_aborted = 0; 1836 unsigned int rx_high_rd_aborted = 0;
1837 unsigned int flags; 1837 unsigned long flags;
1838 struct uart_port *the_port; 1838 struct uart_port *the_port;
1839 int loop_counter; 1839 int loop_counter;
1840 1840
@@ -2935,7 +2935,7 @@ static void __devexit ioc4_serial_exit(void)
2935 uart_unregister_driver(&ioc4_uart_rs422); 2935 uart_unregister_driver(&ioc4_uart_rs422);
2936} 2936}
2937 2937
2938module_init(ioc4_serial_init); 2938late_initcall(ioc4_serial_init); /* Call only after tty init is done */
2939module_exit(ioc4_serial_exit); 2939module_exit(ioc4_serial_exit);
2940 2940
2941MODULE_AUTHOR("Pat Gefre - Silicon Graphics Inc. (SGI) <pfg@sgi.com>"); 2941MODULE_AUTHOR("Pat Gefre - Silicon Graphics Inc. (SGI) <pfg@sgi.com>");