aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/21285.c4
-rw-r--r--drivers/serial/68328serial.c2
-rw-r--r--drivers/serial/68360serial.c2
-rw-r--r--drivers/serial/8250.c4
-rw-r--r--drivers/serial/amba-pl010.c4
-rw-r--r--drivers/serial/amba-pl011.c4
-rw-r--r--drivers/serial/atmel_serial.c2
-rw-r--r--drivers/serial/clps711x.c4
-rw-r--r--drivers/serial/crisv10.c8
-rw-r--r--drivers/serial/crisv10.h4
-rw-r--r--drivers/serial/dz.c4
-rw-r--r--drivers/serial/icom.c4
-rw-r--r--drivers/serial/imx.c4
-rw-r--r--drivers/serial/ioc3_serial.c4
-rw-r--r--drivers/serial/ioc4_serial.c6
-rw-r--r--drivers/serial/ip22zilog.c4
-rw-r--r--drivers/serial/jsm/jsm_tty.c10
-rw-r--r--drivers/serial/m32r_sio.c2
-rw-r--r--drivers/serial/mcfserial.c2
-rw-r--r--drivers/serial/mpc52xx_uart.c4
-rw-r--r--drivers/serial/mpsc.c4
-rw-r--r--drivers/serial/mux.c4
-rw-r--r--drivers/serial/netx-serial.c4
-rw-r--r--drivers/serial/pmac_zilog.c10
-rw-r--r--drivers/serial/pmac_zilog.h2
-rw-r--r--drivers/serial/pxa.c4
-rw-r--r--drivers/serial/s3c2410.c4
-rw-r--r--drivers/serial/sa1100.c4
-rw-r--r--drivers/serial/serial_core.c21
-rw-r--r--drivers/serial/serial_lh7a40x.c4
-rw-r--r--drivers/serial/serial_txx9.c4
-rw-r--r--drivers/serial/sh-sci.c4
-rw-r--r--drivers/serial/sn_console.c4
-rw-r--r--drivers/serial/sunhv.c4
-rw-r--r--drivers/serial/sunsab.c4
-rw-r--r--drivers/serial/sunsu.c4
-rw-r--r--drivers/serial/sunzilog.c4
-rw-r--r--drivers/serial/uartlite.c4
-rw-r--r--drivers/serial/v850e_uart.c4
-rw-r--r--drivers/serial/vr41xx_siu.c4
40 files changed, 93 insertions, 90 deletions
diff --git a/drivers/serial/21285.c b/drivers/serial/21285.c
index 6a1a568ca649..facb67855619 100644
--- a/drivers/serial/21285.c
+++ b/drivers/serial/21285.c
@@ -214,8 +214,8 @@ static void serial21285_shutdown(struct uart_port *port)
214} 214}
215 215
216static void 216static void
217serial21285_set_termios(struct uart_port *port, struct termios *termios, 217serial21285_set_termios(struct uart_port *port, struct ktermios *termios,
218 struct termios *old) 218 struct ktermios *old)
219{ 219{
220 unsigned long flags; 220 unsigned long flags;
221 unsigned int baud, quot, h_lcr; 221 unsigned int baud, quot, h_lcr;
diff --git a/drivers/serial/68328serial.c b/drivers/serial/68328serial.c
index 9b8b585513ec..cad426c9711e 100644
--- a/drivers/serial/68328serial.c
+++ b/drivers/serial/68328serial.c
@@ -1061,7 +1061,7 @@ static int rs_ioctl(struct tty_struct *tty, struct file * file,
1061 return 0; 1061 return 0;
1062} 1062}
1063 1063
1064static void rs_set_termios(struct tty_struct *tty, struct termios *old_termios) 1064static void rs_set_termios(struct tty_struct *tty, struct ktermios *old_termios)
1065{ 1065{
1066 struct m68k_serial *info = (struct m68k_serial *)tty->driver_data; 1066 struct m68k_serial *info = (struct m68k_serial *)tty->driver_data;
1067 1067
diff --git a/drivers/serial/68360serial.c b/drivers/serial/68360serial.c
index 634ecca36a77..68817a7d8c0d 100644
--- a/drivers/serial/68360serial.c
+++ b/drivers/serial/68360serial.c
@@ -1523,7 +1523,7 @@ static int rs_360_ioctl(struct tty_struct *tty, struct file * file,
1523 1523
1524/* FIX UP modem control here someday...... 1524/* FIX UP modem control here someday......
1525*/ 1525*/
1526static void rs_360_set_termios(struct tty_struct *tty, struct termios *old_termios) 1526static void rs_360_set_termios(struct tty_struct *tty, struct ktermios *old_termios)
1527{ 1527{
1528 ser_info_t *info = (ser_info_t *)tty->driver_data; 1528 ser_info_t *info = (ser_info_t *)tty->driver_data;
1529 1529
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index e34bd03cfce7..51f3c739f7e1 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -1763,8 +1763,8 @@ static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int
1763} 1763}
1764 1764
1765static void 1765static void
1766serial8250_set_termios(struct uart_port *port, struct termios *termios, 1766serial8250_set_termios(struct uart_port *port, struct ktermios *termios,
1767 struct termios *old) 1767 struct ktermios *old)
1768{ 1768{
1769 struct uart_8250_port *up = (struct uart_8250_port *)port; 1769 struct uart_8250_port *up = (struct uart_8250_port *)port;
1770 unsigned char cval, fcr = 0; 1770 unsigned char cval, fcr = 0;
diff --git a/drivers/serial/amba-pl010.c b/drivers/serial/amba-pl010.c
index 4d3626ef4643..61db6973755a 100644
--- a/drivers/serial/amba-pl010.c
+++ b/drivers/serial/amba-pl010.c
@@ -345,8 +345,8 @@ static void pl010_shutdown(struct uart_port *port)
345} 345}
346 346
347static void 347static void
348pl010_set_termios(struct uart_port *port, struct termios *termios, 348pl010_set_termios(struct uart_port *port, struct ktermios *termios,
349 struct termios *old) 349 struct ktermios *old)
350{ 350{
351 unsigned int lcr_h, old_cr; 351 unsigned int lcr_h, old_cr;
352 unsigned long flags; 352 unsigned long flags;
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c
index d503625730df..9a3b374b2a08 100644
--- a/drivers/serial/amba-pl011.c
+++ b/drivers/serial/amba-pl011.c
@@ -412,8 +412,8 @@ static void pl011_shutdown(struct uart_port *port)
412} 412}
413 413
414static void 414static void
415pl011_set_termios(struct uart_port *port, struct termios *termios, 415pl011_set_termios(struct uart_port *port, struct ktermios *termios,
416 struct termios *old) 416 struct ktermios *old)
417{ 417{
418 unsigned int lcr_h, old_cr; 418 unsigned int lcr_h, old_cr;
419 unsigned long flags; 419 unsigned long flags;
diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
index 9217ee6c7865..ed7f7209ea59 100644
--- a/drivers/serial/atmel_serial.c
+++ b/drivers/serial/atmel_serial.c
@@ -478,7 +478,7 @@ static void atmel_serial_pm(struct uart_port *port, unsigned int state, unsigned
478/* 478/*
479 * Change the port parameters 479 * Change the port parameters
480 */ 480 */
481static void atmel_set_termios(struct uart_port *port, struct termios * termios, struct termios * old) 481static void atmel_set_termios(struct uart_port *port, struct ktermios * termios, struct ktermios * old)
482{ 482{
483 unsigned long flags; 483 unsigned long flags;
484 unsigned int mode, imr, quot, baud; 484 unsigned int mode, imr, quot, baud;
diff --git a/drivers/serial/clps711x.c b/drivers/serial/clps711x.c
index 598012714882..23827189ec0e 100644
--- a/drivers/serial/clps711x.c
+++ b/drivers/serial/clps711x.c
@@ -286,8 +286,8 @@ static void clps711xuart_shutdown(struct uart_port *port)
286} 286}
287 287
288static void 288static void
289clps711xuart_set_termios(struct uart_port *port, struct termios *termios, 289clps711xuart_set_termios(struct uart_port *port, struct ktermios *termios,
290 struct termios *old) 290 struct ktermios *old)
291{ 291{
292 unsigned int ubrlcr, baud, quot; 292 unsigned int ubrlcr, baud, quot;
293 unsigned long flags; 293 unsigned long flags;
diff --git a/drivers/serial/crisv10.c b/drivers/serial/crisv10.c
index 7a24e53546c7..42b050c46abe 100644
--- a/drivers/serial/crisv10.c
+++ b/drivers/serial/crisv10.c
@@ -804,8 +804,8 @@ static struct e100_serial rs_table[] = {
804 804
805#define NR_PORTS (sizeof(rs_table)/sizeof(struct e100_serial)) 805#define NR_PORTS (sizeof(rs_table)/sizeof(struct e100_serial))
806 806
807static struct termios *serial_termios[NR_PORTS]; 807static struct ktermios *serial_termios[NR_PORTS];
808static struct termios *serial_termios_locked[NR_PORTS]; 808static struct ktermios *serial_termios_locked[NR_PORTS];
809#ifdef CONFIG_ETRAX_SERIAL_FAST_TIMER 809#ifdef CONFIG_ETRAX_SERIAL_FAST_TIMER
810static struct fast_timer fast_timers[NR_PORTS]; 810static struct fast_timer fast_timers[NR_PORTS];
811#endif 811#endif
@@ -4223,7 +4223,7 @@ rs_ioctl(struct tty_struct *tty, struct file * file,
4223} 4223}
4224 4224
4225static void 4225static void
4226rs_set_termios(struct tty_struct *tty, struct termios *old_termios) 4226rs_set_termios(struct tty_struct *tty, struct ktermios *old_termios)
4227{ 4227{
4228 struct e100_serial *info = (struct e100_serial *)tty->driver_data; 4228 struct e100_serial *info = (struct e100_serial *)tty->driver_data;
4229 4229
@@ -4877,6 +4877,8 @@ rs_init(void)
4877 driver->init_termios = tty_std_termios; 4877 driver->init_termios = tty_std_termios;
4878 driver->init_termios.c_cflag = 4878 driver->init_termios.c_cflag =
4879 B115200 | CS8 | CREAD | HUPCL | CLOCAL; /* is normally B9600 default... */ 4879 B115200 | CS8 | CREAD | HUPCL | CLOCAL; /* is normally B9600 default... */
4880 driver->init_termios.c_ispeed = 115200;
4881 driver->init_termios.c_ospeed = 115200;
4880 driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV; 4882 driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
4881 driver->termios = serial_termios; 4883 driver->termios = serial_termios;
4882 driver->termios_locked = serial_termios_locked; 4884 driver->termios_locked = serial_termios_locked;
diff --git a/drivers/serial/crisv10.h b/drivers/serial/crisv10.h
index f30b93d6ef79..4a23340663aa 100644
--- a/drivers/serial/crisv10.h
+++ b/drivers/serial/crisv10.h
@@ -93,8 +93,8 @@ struct e100_serial {
93 93
94 struct work_struct work; 94 struct work_struct work;
95 struct async_icount icount; /* error-statistics etc.*/ 95 struct async_icount icount; /* error-statistics etc.*/
96 struct termios normal_termios; 96 struct ktermios normal_termios;
97 struct termios callout_termios; 97 struct ktermios callout_termios;
98#ifdef DECLARE_WAITQUEUE 98#ifdef DECLARE_WAITQUEUE
99 wait_queue_head_t open_wait; 99 wait_queue_head_t open_wait;
100 wait_queue_head_t close_wait; 100 wait_queue_head_t close_wait;
diff --git a/drivers/serial/dz.c b/drivers/serial/dz.c
index af1544f3356f..587d87b9eb3c 100644
--- a/drivers/serial/dz.c
+++ b/drivers/serial/dz.c
@@ -461,8 +461,8 @@ static void dz_break_ctl(struct uart_port *uport, int break_state)
461 spin_unlock_irqrestore(&uport->lock, flags); 461 spin_unlock_irqrestore(&uport->lock, flags);
462} 462}
463 463
464static void dz_set_termios(struct uart_port *uport, struct termios *termios, 464static void dz_set_termios(struct uart_port *uport, struct ktermios *termios,
465 struct termios *old_termios) 465 struct ktermios *old_termios)
466{ 466{
467 struct dz_port *dport = (struct dz_port *)uport; 467 struct dz_port *dport = (struct dz_port *)uport;
468 unsigned long flags; 468 unsigned long flags;
diff --git a/drivers/serial/icom.c b/drivers/serial/icom.c
index 8aa0f641866b..7d623003e65e 100644
--- a/drivers/serial/icom.c
+++ b/drivers/serial/icom.c
@@ -1087,8 +1087,8 @@ static void icom_close(struct uart_port *port)
1087} 1087}
1088 1088
1089static void icom_set_termios(struct uart_port *port, 1089static void icom_set_termios(struct uart_port *port,
1090 struct termios *termios, 1090 struct ktermios *termios,
1091 struct termios *old_termios) 1091 struct ktermios *old_termios)
1092{ 1092{
1093 int baud; 1093 int baud;
1094 unsigned cflag, iflag; 1094 unsigned cflag, iflag;
diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c
index ee5c782597dd..e216dcf29376 100644
--- a/drivers/serial/imx.c
+++ b/drivers/serial/imx.c
@@ -459,8 +459,8 @@ static void imx_shutdown(struct uart_port *port)
459} 459}
460 460
461static void 461static void
462imx_set_termios(struct uart_port *port, struct termios *termios, 462imx_set_termios(struct uart_port *port, struct ktermios *termios,
463 struct termios *old) 463 struct ktermios *old)
464{ 464{
465 struct imx_port *sport = (struct imx_port *)port; 465 struct imx_port *sport = (struct imx_port *)port;
466 unsigned long flags; 466 unsigned long flags;
diff --git a/drivers/serial/ioc3_serial.c b/drivers/serial/ioc3_serial.c
index 2308d26c8629..9cc0be932316 100644
--- a/drivers/serial/ioc3_serial.c
+++ b/drivers/serial/ioc3_serial.c
@@ -950,7 +950,7 @@ static void transmit_chars(struct uart_port *the_port)
950 */ 950 */
951static void 951static void
952ioc3_change_speed(struct uart_port *the_port, 952ioc3_change_speed(struct uart_port *the_port,
953 struct termios *new_termios, struct termios *old_termios) 953 struct ktermios *new_termios, struct ktermios *old_termios)
954{ 954{
955 struct ioc3_port *port = get_ioc3_port(the_port); 955 struct ioc3_port *port = get_ioc3_port(the_port);
956 unsigned int cflag; 956 unsigned int cflag;
@@ -1853,7 +1853,7 @@ static int ic3_startup(struct uart_port *the_port)
1853 */ 1853 */
1854static void 1854static void
1855ic3_set_termios(struct uart_port *the_port, 1855ic3_set_termios(struct uart_port *the_port,
1856 struct termios *termios, struct termios *old_termios) 1856 struct ktermios *termios, struct ktermios *old_termios)
1857{ 1857{
1858 unsigned long port_flags; 1858 unsigned long port_flags;
1859 1859
diff --git a/drivers/serial/ioc4_serial.c b/drivers/serial/ioc4_serial.c
index 711bd1511439..c862f67c985a 100644
--- a/drivers/serial/ioc4_serial.c
+++ b/drivers/serial/ioc4_serial.c
@@ -1681,7 +1681,7 @@ static void transmit_chars(struct uart_port *the_port)
1681 */ 1681 */
1682static void 1682static void
1683ioc4_change_speed(struct uart_port *the_port, 1683ioc4_change_speed(struct uart_port *the_port,
1684 struct termios *new_termios, struct termios *old_termios) 1684 struct ktermios *new_termios, struct ktermios *old_termios)
1685{ 1685{
1686 struct ioc4_port *port = get_ioc4_port(the_port, 0); 1686 struct ioc4_port *port = get_ioc4_port(the_port, 0);
1687 int baud, bits; 1687 int baud, bits;
@@ -1802,7 +1802,7 @@ static inline int ic4_startup_local(struct uart_port *the_port)
1802 ioc4_set_proto(port, the_port->mapbase); 1802 ioc4_set_proto(port, the_port->mapbase);
1803 1803
1804 /* set the speed of the serial port */ 1804 /* set the speed of the serial port */
1805 ioc4_change_speed(the_port, info->tty->termios, (struct termios *)0); 1805 ioc4_change_speed(the_port, info->tty->termios, (struct ktermios *)0);
1806 1806
1807 return 0; 1807 return 0;
1808} 1808}
@@ -2570,7 +2570,7 @@ static int ic4_startup(struct uart_port *the_port)
2570 */ 2570 */
2571static void 2571static void
2572ic4_set_termios(struct uart_port *the_port, 2572ic4_set_termios(struct uart_port *the_port,
2573 struct termios *termios, struct termios *old_termios) 2573 struct ktermios *termios, struct ktermios *old_termios)
2574{ 2574{
2575 unsigned long port_flags; 2575 unsigned long port_flags;
2576 2576
diff --git a/drivers/serial/ip22zilog.c b/drivers/serial/ip22zilog.c
index dca6c1bde8f9..0746c9446ae0 100644
--- a/drivers/serial/ip22zilog.c
+++ b/drivers/serial/ip22zilog.c
@@ -840,8 +840,8 @@ ip22zilog_convert_to_zs(struct uart_ip22zilog_port *up, unsigned int cflag,
840 840
841/* The port lock is not held. */ 841/* The port lock is not held. */
842static void 842static void
843ip22zilog_set_termios(struct uart_port *port, struct termios *termios, 843ip22zilog_set_termios(struct uart_port *port, struct ktermios *termios,
844 struct termios *old) 844 struct ktermios *old)
845{ 845{
846 struct uart_ip22zilog_port *up = (struct uart_ip22zilog_port *) port; 846 struct uart_ip22zilog_port *up = (struct uart_ip22zilog_port *) port;
847 unsigned long flags; 847 unsigned long flags;
diff --git a/drivers/serial/jsm/jsm_tty.c b/drivers/serial/jsm/jsm_tty.c
index f8262e6ad8d3..7cf1c60027f8 100644
--- a/drivers/serial/jsm/jsm_tty.c
+++ b/drivers/serial/jsm/jsm_tty.c
@@ -142,7 +142,7 @@ static void jsm_tty_send_xchar(struct uart_port *port, char ch)
142{ 142{
143 unsigned long lock_flags; 143 unsigned long lock_flags;
144 struct jsm_channel *channel = (struct jsm_channel *)port; 144 struct jsm_channel *channel = (struct jsm_channel *)port;
145 struct termios *termios; 145 struct ktermios *termios;
146 146
147 spin_lock_irqsave(&port->lock, lock_flags); 147 spin_lock_irqsave(&port->lock, lock_flags);
148 termios = port->info->tty->termios; 148 termios = port->info->tty->termios;
@@ -180,7 +180,7 @@ static int jsm_tty_open(struct uart_port *port)
180 struct jsm_board *brd; 180 struct jsm_board *brd;
181 int rc = 0; 181 int rc = 0;
182 struct jsm_channel *channel = (struct jsm_channel *)port; 182 struct jsm_channel *channel = (struct jsm_channel *)port;
183 struct termios *termios; 183 struct ktermios *termios;
184 184
185 /* Get board pointer from our array of majors we have allocated */ 185 /* Get board pointer from our array of majors we have allocated */
186 brd = channel->ch_bd; 186 brd = channel->ch_bd;
@@ -269,7 +269,7 @@ static int jsm_tty_open(struct uart_port *port)
269static void jsm_tty_close(struct uart_port *port) 269static void jsm_tty_close(struct uart_port *port)
270{ 270{
271 struct jsm_board *bd; 271 struct jsm_board *bd;
272 struct termios *ts; 272 struct ktermios *ts;
273 struct jsm_channel *channel = (struct jsm_channel *)port; 273 struct jsm_channel *channel = (struct jsm_channel *)port;
274 274
275 jsm_printk(CLOSE, INFO, &channel->ch_bd->pci_dev, "start\n"); 275 jsm_printk(CLOSE, INFO, &channel->ch_bd->pci_dev, "start\n");
@@ -302,8 +302,8 @@ static void jsm_tty_close(struct uart_port *port)
302} 302}
303 303
304static void jsm_tty_set_termios(struct uart_port *port, 304static void jsm_tty_set_termios(struct uart_port *port,
305 struct termios *termios, 305 struct ktermios *termios,
306 struct termios *old_termios) 306 struct ktermios *old_termios)
307{ 307{
308 unsigned long lock_flags; 308 unsigned long lock_flags;
309 struct jsm_channel *channel = (struct jsm_channel *)port; 309 struct jsm_channel *channel = (struct jsm_channel *)port;
diff --git a/drivers/serial/m32r_sio.c b/drivers/serial/m32r_sio.c
index 7656a35f5e2f..6e09c8b395e8 100644
--- a/drivers/serial/m32r_sio.c
+++ b/drivers/serial/m32r_sio.c
@@ -699,7 +699,7 @@ static unsigned int m32r_sio_get_divisor(struct uart_port *port,
699} 699}
700 700
701static void m32r_sio_set_termios(struct uart_port *port, 701static void m32r_sio_set_termios(struct uart_port *port,
702 struct termios *termios, struct termios *old) 702 struct ktermios *termios, struct ktermios *old)
703{ 703{
704 struct uart_sio_port *up = (struct uart_sio_port *)port; 704 struct uart_sio_port *up = (struct uart_sio_port *)port;
705 unsigned char cval = 0; 705 unsigned char cval = 0;
diff --git a/drivers/serial/mcfserial.c b/drivers/serial/mcfserial.c
index 3db206d29b33..08430961a895 100644
--- a/drivers/serial/mcfserial.c
+++ b/drivers/serial/mcfserial.c
@@ -1132,7 +1132,7 @@ static int mcfrs_ioctl(struct tty_struct *tty, struct file * file,
1132 return 0; 1132 return 0;
1133} 1133}
1134 1134
1135static void mcfrs_set_termios(struct tty_struct *tty, struct termios *old_termios) 1135static void mcfrs_set_termios(struct tty_struct *tty, struct ktermios *old_termios)
1136{ 1136{
1137 struct mcf_serial *info = (struct mcf_serial *)tty->driver_data; 1137 struct mcf_serial *info = (struct mcf_serial *)tty->driver_data;
1138 1138
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c
index 6dd579ed9777..9d11a75663e6 100644
--- a/drivers/serial/mpc52xx_uart.c
+++ b/drivers/serial/mpc52xx_uart.c
@@ -270,8 +270,8 @@ mpc52xx_uart_shutdown(struct uart_port *port)
270} 270}
271 271
272static void 272static void
273mpc52xx_uart_set_termios(struct uart_port *port, struct termios *new, 273mpc52xx_uart_set_termios(struct uart_port *port, struct ktermios *new,
274 struct termios *old) 274 struct ktermios *old)
275{ 275{
276 struct mpc52xx_psc __iomem *psc = PSC(port); 276 struct mpc52xx_psc __iomem *psc = PSC(port);
277 unsigned long flags; 277 unsigned long flags;
diff --git a/drivers/serial/mpsc.c b/drivers/serial/mpsc.c
index 29823bd60fb0..3d2fcc57b1ce 100644
--- a/drivers/serial/mpsc.c
+++ b/drivers/serial/mpsc.c
@@ -1440,8 +1440,8 @@ mpsc_shutdown(struct uart_port *port)
1440} 1440}
1441 1441
1442static void 1442static void
1443mpsc_set_termios(struct uart_port *port, struct termios *termios, 1443mpsc_set_termios(struct uart_port *port, struct ktermios *termios,
1444 struct termios *old) 1444 struct ktermios *old)
1445{ 1445{
1446 struct mpsc_port_info *pi = (struct mpsc_port_info *)port; 1446 struct mpsc_port_info *pi = (struct mpsc_port_info *)port;
1447 u32 baud; 1447 u32 baud;
diff --git a/drivers/serial/mux.c b/drivers/serial/mux.c
index 8ad1b8c5ec5d..ccb8fa1800a5 100644
--- a/drivers/serial/mux.c
+++ b/drivers/serial/mux.c
@@ -273,8 +273,8 @@ static void mux_shutdown(struct uart_port *port)
273 * The Serial Mux does not support this function. 273 * The Serial Mux does not support this function.
274 */ 274 */
275static void 275static void
276mux_set_termios(struct uart_port *port, struct termios *termios, 276mux_set_termios(struct uart_port *port, struct ktermios *termios,
277 struct termios *old) 277 struct ktermios *old)
278{ 278{
279} 279}
280 280
diff --git a/drivers/serial/netx-serial.c b/drivers/serial/netx-serial.c
index 062bad457b1a..b56f7db45031 100644
--- a/drivers/serial/netx-serial.c
+++ b/drivers/serial/netx-serial.c
@@ -337,8 +337,8 @@ static void netx_shutdown(struct uart_port *port)
337} 337}
338 338
339static void 339static void
340netx_set_termios(struct uart_port *port, struct termios *termios, 340netx_set_termios(struct uart_port *port, struct ktermios *termios,
341 struct termios *old) 341 struct ktermios *old)
342{ 342{
343 unsigned int baud, quot; 343 unsigned int baud, quot;
344 unsigned char old_cr; 344 unsigned char old_cr;
diff --git a/drivers/serial/pmac_zilog.c b/drivers/serial/pmac_zilog.c
index bf9809ed9c0b..752ef07516b9 100644
--- a/drivers/serial/pmac_zilog.c
+++ b/drivers/serial/pmac_zilog.c
@@ -1262,8 +1262,8 @@ static void pmz_irda_setup(struct uart_pmac_port *uap, unsigned long *baud)
1262} 1262}
1263 1263
1264 1264
1265static void __pmz_set_termios(struct uart_port *port, struct termios *termios, 1265static void __pmz_set_termios(struct uart_port *port, struct ktermios *termios,
1266 struct termios *old) 1266 struct ktermios *old)
1267{ 1267{
1268 struct uart_pmac_port *uap = to_pmz(port); 1268 struct uart_pmac_port *uap = to_pmz(port);
1269 unsigned long baud; 1269 unsigned long baud;
@@ -1273,7 +1273,7 @@ static void __pmz_set_termios(struct uart_port *port, struct termios *termios,
1273 if (ZS_IS_ASLEEP(uap)) 1273 if (ZS_IS_ASLEEP(uap))
1274 return; 1274 return;
1275 1275
1276 memcpy(&uap->termios_cache, termios, sizeof(struct termios)); 1276 memcpy(&uap->termios_cache, termios, sizeof(struct ktermios));
1277 1277
1278 /* XXX Check which revs of machines actually allow 1 and 4Mb speeds 1278 /* XXX Check which revs of machines actually allow 1 and 4Mb speeds
1279 * on the IR dongle. Note that the IRTTY driver currently doesn't know 1279 * on the IR dongle. Note that the IRTTY driver currently doesn't know
@@ -1313,8 +1313,8 @@ static void __pmz_set_termios(struct uart_port *port, struct termios *termios,
1313} 1313}
1314 1314
1315/* The port lock is not held. */ 1315/* The port lock is not held. */
1316static void pmz_set_termios(struct uart_port *port, struct termios *termios, 1316static void pmz_set_termios(struct uart_port *port, struct ktermios *termios,
1317 struct termios *old) 1317 struct ktermios *old)
1318{ 1318{
1319 struct uart_pmac_port *uap = to_pmz(port); 1319 struct uart_pmac_port *uap = to_pmz(port);
1320 unsigned long flags; 1320 unsigned long flags;
diff --git a/drivers/serial/pmac_zilog.h b/drivers/serial/pmac_zilog.h
index c03f9bfacdd8..570b0d925e83 100644
--- a/drivers/serial/pmac_zilog.h
+++ b/drivers/serial/pmac_zilog.h
@@ -60,7 +60,7 @@ struct uart_pmac_port {
60 volatile struct dbdma_regs __iomem *tx_dma_regs; 60 volatile struct dbdma_regs __iomem *tx_dma_regs;
61 volatile struct dbdma_regs __iomem *rx_dma_regs; 61 volatile struct dbdma_regs __iomem *rx_dma_regs;
62 62
63 struct termios termios_cache; 63 struct ktermios termios_cache;
64}; 64};
65 65
66#define to_pmz(p) ((struct uart_pmac_port *)(p)) 66#define to_pmz(p) ((struct uart_pmac_port *)(p))
diff --git a/drivers/serial/pxa.c b/drivers/serial/pxa.c
index 415fe9633a9b..d403aaa55092 100644
--- a/drivers/serial/pxa.c
+++ b/drivers/serial/pxa.c
@@ -433,8 +433,8 @@ static void serial_pxa_shutdown(struct uart_port *port)
433} 433}
434 434
435static void 435static void
436serial_pxa_set_termios(struct uart_port *port, struct termios *termios, 436serial_pxa_set_termios(struct uart_port *port, struct ktermios *termios,
437 struct termios *old) 437 struct ktermios *old)
438{ 438{
439 struct uart_pxa_port *up = (struct uart_pxa_port *)port; 439 struct uart_pxa_port *up = (struct uart_pxa_port *)port;
440 unsigned char cval, fcr = 0; 440 unsigned char cval, fcr = 0;
diff --git a/drivers/serial/s3c2410.c b/drivers/serial/s3c2410.c
index 8dfc2dd058ca..3ba9208ebd0c 100644
--- a/drivers/serial/s3c2410.c
+++ b/drivers/serial/s3c2410.c
@@ -738,8 +738,8 @@ static unsigned int s3c24xx_serial_getclk(struct uart_port *port,
738} 738}
739 739
740static void s3c24xx_serial_set_termios(struct uart_port *port, 740static void s3c24xx_serial_set_termios(struct uart_port *port,
741 struct termios *termios, 741 struct ktermios *termios,
742 struct termios *old) 742 struct ktermios *old)
743{ 743{
744 struct s3c2410_uartcfg *cfg = s3c24xx_port_to_cfg(port); 744 struct s3c2410_uartcfg *cfg = s3c24xx_port_to_cfg(port);
745 struct s3c24xx_uart_port *ourport = to_ourport(port); 745 struct s3c24xx_uart_port *ourport = to_ourport(port);
diff --git a/drivers/serial/sa1100.c b/drivers/serial/sa1100.c
index d4065266b6fc..58a83c27e14b 100644
--- a/drivers/serial/sa1100.c
+++ b/drivers/serial/sa1100.c
@@ -408,8 +408,8 @@ static void sa1100_shutdown(struct uart_port *port)
408} 408}
409 409
410static void 410static void
411sa1100_set_termios(struct uart_port *port, struct termios *termios, 411sa1100_set_termios(struct uart_port *port, struct ktermios *termios,
412 struct termios *old) 412 struct ktermios *old)
413{ 413{
414 struct sa1100_port *sport = (struct sa1100_port *)port; 414 struct sa1100_port *sport = (struct sa1100_port *)port;
415 unsigned long flags; 415 unsigned long flags;
diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
index c67b05e9a451..f84982e508c7 100644
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
@@ -65,7 +65,7 @@ static struct lock_class_key port_lock_key;
65#define uart_console(port) (0) 65#define uart_console(port) (0)
66#endif 66#endif
67 67
68static void uart_change_speed(struct uart_state *state, struct termios *old_termios); 68static void uart_change_speed(struct uart_state *state, struct ktermios *old_termios);
69static void uart_wait_until_sent(struct tty_struct *tty, int timeout); 69static void uart_wait_until_sent(struct tty_struct *tty, int timeout);
70static void uart_change_pm(struct uart_state *state, int pm_state); 70static void uart_change_pm(struct uart_state *state, int pm_state);
71 71
@@ -338,8 +338,8 @@ EXPORT_SYMBOL(uart_update_timeout);
338 * we're actually going to be using. 338 * we're actually going to be using.
339 */ 339 */
340unsigned int 340unsigned int
341uart_get_baud_rate(struct uart_port *port, struct termios *termios, 341uart_get_baud_rate(struct uart_port *port, struct ktermios *termios,
342 struct termios *old, unsigned int min, unsigned int max) 342 struct ktermios *old, unsigned int min, unsigned int max)
343{ 343{
344 unsigned int try, baud, altbaud = 38400; 344 unsigned int try, baud, altbaud = 38400;
345 upf_t flags = port->flags & UPF_SPD_MASK; 345 upf_t flags = port->flags & UPF_SPD_MASK;
@@ -421,11 +421,11 @@ uart_get_divisor(struct uart_port *port, unsigned int baud)
421EXPORT_SYMBOL(uart_get_divisor); 421EXPORT_SYMBOL(uart_get_divisor);
422 422
423static void 423static void
424uart_change_speed(struct uart_state *state, struct termios *old_termios) 424uart_change_speed(struct uart_state *state, struct ktermios *old_termios)
425{ 425{
426 struct tty_struct *tty = state->info->tty; 426 struct tty_struct *tty = state->info->tty;
427 struct uart_port *port = state->port; 427 struct uart_port *port = state->port;
428 struct termios *termios; 428 struct ktermios *termios;
429 429
430 /* 430 /*
431 * If we have no tty, termios, or the port does not exist, 431 * If we have no tty, termios, or the port does not exist,
@@ -1139,7 +1139,7 @@ uart_ioctl(struct tty_struct *tty, struct file *filp, unsigned int cmd,
1139 return ret; 1139 return ret;
1140} 1140}
1141 1141
1142static void uart_set_termios(struct tty_struct *tty, struct termios *old_termios) 1142static void uart_set_termios(struct tty_struct *tty, struct ktermios *old_termios)
1143{ 1143{
1144 struct uart_state *state = tty->driver_data; 1144 struct uart_state *state = tty->driver_data;
1145 unsigned long flags; 1145 unsigned long flags;
@@ -1866,7 +1866,7 @@ int __init
1866uart_set_options(struct uart_port *port, struct console *co, 1866uart_set_options(struct uart_port *port, struct console *co,
1867 int baud, int parity, int bits, int flow) 1867 int baud, int parity, int bits, int flow)
1868{ 1868{
1869 struct termios termios; 1869 struct ktermios termios;
1870 int i; 1870 int i;
1871 1871
1872 /* 1872 /*
@@ -1876,7 +1876,7 @@ uart_set_options(struct uart_port *port, struct console *co,
1876 spin_lock_init(&port->lock); 1876 spin_lock_init(&port->lock);
1877 lockdep_set_class(&port->lock, &port_lock_key); 1877 lockdep_set_class(&port->lock, &port_lock_key);
1878 1878
1879 memset(&termios, 0, sizeof(struct termios)); 1879 memset(&termios, 0, sizeof(struct ktermios));
1880 1880
1881 termios.c_cflag = CREAD | HUPCL | CLOCAL; 1881 termios.c_cflag = CREAD | HUPCL | CLOCAL;
1882 1882
@@ -1991,12 +1991,12 @@ int uart_resume_port(struct uart_driver *drv, struct uart_port *port)
1991 * Re-enable the console device after suspending. 1991 * Re-enable the console device after suspending.
1992 */ 1992 */
1993 if (uart_console(port)) { 1993 if (uart_console(port)) {
1994 struct termios termios; 1994 struct ktermios termios;
1995 1995
1996 /* 1996 /*
1997 * First try to use the console cflag setting. 1997 * First try to use the console cflag setting.
1998 */ 1998 */
1999 memset(&termios, 0, sizeof(struct termios)); 1999 memset(&termios, 0, sizeof(struct ktermios));
2000 termios.c_cflag = port->cons->cflag; 2000 termios.c_cflag = port->cons->cflag;
2001 2001
2002 /* 2002 /*
@@ -2189,6 +2189,7 @@ int uart_register_driver(struct uart_driver *drv)
2189 normal->subtype = SERIAL_TYPE_NORMAL; 2189 normal->subtype = SERIAL_TYPE_NORMAL;
2190 normal->init_termios = tty_std_termios; 2190 normal->init_termios = tty_std_termios;
2191 normal->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; 2191 normal->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL;
2192 normal->init_termios.c_ispeed = normal->init_termios.c_ospeed = 9600;
2192 normal->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV; 2193 normal->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
2193 normal->driver_state = drv; 2194 normal->driver_state = drv;
2194 tty_set_operations(normal, &uart_ops); 2195 tty_set_operations(normal, &uart_ops);
diff --git a/drivers/serial/serial_lh7a40x.c b/drivers/serial/serial_lh7a40x.c
index 5e1ac356bbb0..eb18d429752d 100644
--- a/drivers/serial/serial_lh7a40x.c
+++ b/drivers/serial/serial_lh7a40x.c
@@ -348,8 +348,8 @@ static void lh7a40xuart_shutdown (struct uart_port* port)
348} 348}
349 349
350static void lh7a40xuart_set_termios (struct uart_port* port, 350static void lh7a40xuart_set_termios (struct uart_port* port,
351 struct termios* termios, 351 struct ktermios* termios,
352 struct termios* old) 352 struct ktermios* old)
353{ 353{
354 unsigned int con; 354 unsigned int con;
355 unsigned int inten; 355 unsigned int inten;
diff --git a/drivers/serial/serial_txx9.c b/drivers/serial/serial_txx9.c
index 2a48289ac722..7186a82c4759 100644
--- a/drivers/serial/serial_txx9.c
+++ b/drivers/serial/serial_txx9.c
@@ -556,8 +556,8 @@ static void serial_txx9_shutdown(struct uart_port *port)
556} 556}
557 557
558static void 558static void
559serial_txx9_set_termios(struct uart_port *port, struct termios *termios, 559serial_txx9_set_termios(struct uart_port *port, struct ktermios *termios,
560 struct termios *old) 560 struct ktermios *old)
561{ 561{
562 struct uart_txx9_port *up = (struct uart_txx9_port *)port; 562 struct uart_txx9_port *up = (struct uart_txx9_port *)port;
563 unsigned int cval, fcr = 0; 563 unsigned int cval, fcr = 0;
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c
index 3b5f19ec2126..9031b57f12dd 100644
--- a/drivers/serial/sh-sci.c
+++ b/drivers/serial/sh-sci.c
@@ -943,8 +943,8 @@ static void sci_shutdown(struct uart_port *port)
943 s->disable(port); 943 s->disable(port);
944} 944}
945 945
946static void sci_set_termios(struct uart_port *port, struct termios *termios, 946static void sci_set_termios(struct uart_port *port, struct ktermios *termios,
947 struct termios *old) 947 struct ktermios *old)
948{ 948{
949 struct sci_port *s = &sci_ports[port->line]; 949 struct sci_port *s = &sci_ports[port->line];
950 unsigned int status, baud, smr_val; 950 unsigned int status, baud, smr_val;
diff --git a/drivers/serial/sn_console.c b/drivers/serial/sn_console.c
index 956b2cf08e1e..253ceb895ca7 100644
--- a/drivers/serial/sn_console.c
+++ b/drivers/serial/sn_console.c
@@ -361,8 +361,8 @@ static int snp_startup(struct uart_port *port)
361 * 361 *
362 */ 362 */
363static void 363static void
364snp_set_termios(struct uart_port *port, struct termios *termios, 364snp_set_termios(struct uart_port *port, struct ktermios *termios,
365 struct termios *old) 365 struct ktermios *old)
366{ 366{
367} 367}
368 368
diff --git a/drivers/serial/sunhv.c b/drivers/serial/sunhv.c
index 03941d27d15d..40d48566215c 100644
--- a/drivers/serial/sunhv.c
+++ b/drivers/serial/sunhv.c
@@ -281,8 +281,8 @@ static void sunhv_shutdown(struct uart_port *port)
281} 281}
282 282
283/* port->lock is not held. */ 283/* port->lock is not held. */
284static void sunhv_set_termios(struct uart_port *port, struct termios *termios, 284static void sunhv_set_termios(struct uart_port *port, struct ktermios *termios,
285 struct termios *old) 285 struct ktermios *old)
286{ 286{
287 unsigned int baud = uart_get_baud_rate(port, termios, old, 0, 4000000); 287 unsigned int baud = uart_get_baud_rate(port, termios, old, 0, 4000000);
288 unsigned int quot = uart_get_divisor(port, baud); 288 unsigned int quot = uart_get_divisor(port, baud);
diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c
index 08a7cd6a3a0c..493d5bbb661b 100644
--- a/drivers/serial/sunsab.c
+++ b/drivers/serial/sunsab.c
@@ -786,8 +786,8 @@ static void sunsab_convert_to_sab(struct uart_sunsab_port *up, unsigned int cfla
786} 786}
787 787
788/* port->lock is not held. */ 788/* port->lock is not held. */
789static void sunsab_set_termios(struct uart_port *port, struct termios *termios, 789static void sunsab_set_termios(struct uart_port *port, struct ktermios *termios,
790 struct termios *old) 790 struct ktermios *old)
791{ 791{
792 struct uart_sunsab_port *up = (struct uart_sunsab_port *) port; 792 struct uart_sunsab_port *up = (struct uart_sunsab_port *) port;
793 unsigned long flags; 793 unsigned long flags;
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c
index c577faea60e8..564592b2b2ba 100644
--- a/drivers/serial/sunsu.c
+++ b/drivers/serial/sunsu.c
@@ -893,8 +893,8 @@ sunsu_change_speed(struct uart_port *port, unsigned int cflag,
893} 893}
894 894
895static void 895static void
896sunsu_set_termios(struct uart_port *port, struct termios *termios, 896sunsu_set_termios(struct uart_port *port, struct ktermios *termios,
897 struct termios *old) 897 struct ktermios *old)
898{ 898{
899 unsigned int baud, quot; 899 unsigned int baud, quot;
900 900
diff --git a/drivers/serial/sunzilog.c b/drivers/serial/sunzilog.c
index b2cc703b2b9e..75de919a9471 100644
--- a/drivers/serial/sunzilog.c
+++ b/drivers/serial/sunzilog.c
@@ -922,8 +922,8 @@ sunzilog_convert_to_zs(struct uart_sunzilog_port *up, unsigned int cflag,
922 922
923/* The port lock is not held. */ 923/* The port lock is not held. */
924static void 924static void
925sunzilog_set_termios(struct uart_port *port, struct termios *termios, 925sunzilog_set_termios(struct uart_port *port, struct ktermios *termios,
926 struct termios *old) 926 struct ktermios *old)
927{ 927{
928 struct uart_sunzilog_port *up = (struct uart_sunzilog_port *) port; 928 struct uart_sunzilog_port *up = (struct uart_sunzilog_port *) port;
929 unsigned long flags; 929 unsigned long flags;
diff --git a/drivers/serial/uartlite.c b/drivers/serial/uartlite.c
index 83690653b78b..92eba893559d 100644
--- a/drivers/serial/uartlite.c
+++ b/drivers/serial/uartlite.c
@@ -214,8 +214,8 @@ static void ulite_shutdown(struct uart_port *port)
214 free_irq(port->irq, port); 214 free_irq(port->irq, port);
215} 215}
216 216
217static void ulite_set_termios(struct uart_port *port, struct termios *termios, 217static void ulite_set_termios(struct uart_port *port, struct ktermios *termios,
218 struct termios *old) 218 struct ktermios *old)
219{ 219{
220 unsigned long flags; 220 unsigned long flags;
221 unsigned int baud; 221 unsigned int baud;
diff --git a/drivers/serial/v850e_uart.c b/drivers/serial/v850e_uart.c
index 28f3bbff87bf..dd98aca6ed08 100644
--- a/drivers/serial/v850e_uart.c
+++ b/drivers/serial/v850e_uart.c
@@ -404,8 +404,8 @@ static void v850e_uart_shutdown (struct uart_port *port)
404} 404}
405 405
406static void 406static void
407v850e_uart_set_termios (struct uart_port *port, struct termios *termios, 407v850e_uart_set_termios (struct uart_port *port, struct ktermios *termios,
408 struct termios *old) 408 struct ktermios *old)
409{ 409{
410 unsigned cflags = termios->c_cflag; 410 unsigned cflags = termios->c_cflag;
411 411
diff --git a/drivers/serial/vr41xx_siu.c b/drivers/serial/vr41xx_siu.c
index fd51f8182dec..cf0e663b42ed 100644
--- a/drivers/serial/vr41xx_siu.c
+++ b/drivers/serial/vr41xx_siu.c
@@ -562,8 +562,8 @@ static void siu_shutdown(struct uart_port *port)
562 free_irq(port->irq, port); 562 free_irq(port->irq, port);
563} 563}
564 564
565static void siu_set_termios(struct uart_port *port, struct termios *new, 565static void siu_set_termios(struct uart_port *port, struct ktermios *new,
566 struct termios *old) 566 struct ktermios *old)
567{ 567{
568 tcflag_t c_cflag, c_iflag; 568 tcflag_t c_cflag, c_iflag;
569 uint8_t lcr, fcr, ier; 569 uint8_t lcr, fcr, ier;