diff options
Diffstat (limited to 'drivers/char')
29 files changed, 121 insertions, 74 deletions
diff --git a/drivers/char/amiserial.c b/drivers/char/amiserial.c index 66086fa2d59a..feb4ac802a0d 100644 --- a/drivers/char/amiserial.c +++ b/drivers/char/amiserial.c | |||
@@ -104,7 +104,7 @@ static struct async_struct *IRQ_ports; | |||
104 | 104 | ||
105 | static unsigned char current_ctl_bits; | 105 | static unsigned char current_ctl_bits; |
106 | 106 | ||
107 | static void change_speed(struct async_struct *info, struct termios *old); | 107 | static void change_speed(struct async_struct *info, struct ktermios *old); |
108 | static void rs_wait_until_sent(struct tty_struct *tty, int timeout); | 108 | static void rs_wait_until_sent(struct tty_struct *tty, int timeout); |
109 | 109 | ||
110 | 110 | ||
@@ -694,7 +694,7 @@ static void shutdown(struct async_struct * info) | |||
694 | * the specified baud rate for a serial port. | 694 | * the specified baud rate for a serial port. |
695 | */ | 695 | */ |
696 | static void change_speed(struct async_struct *info, | 696 | static void change_speed(struct async_struct *info, |
697 | struct termios *old_termios) | 697 | struct ktermios *old_termios) |
698 | { | 698 | { |
699 | int quot = 0, baud_base, baud; | 699 | int quot = 0, baud_base, baud; |
700 | unsigned cflag, cval = 0; | 700 | unsigned cflag, cval = 0; |
@@ -1365,7 +1365,7 @@ static int rs_ioctl(struct tty_struct *tty, struct file * file, | |||
1365 | return 0; | 1365 | return 0; |
1366 | } | 1366 | } |
1367 | 1367 | ||
1368 | static void rs_set_termios(struct tty_struct *tty, struct termios *old_termios) | 1368 | static void rs_set_termios(struct tty_struct *tty, struct ktermios *old_termios) |
1369 | { | 1369 | { |
1370 | struct async_struct *info = (struct async_struct *)tty->driver_data; | 1370 | struct async_struct *info = (struct async_struct *)tty->driver_data; |
1371 | unsigned long flags; | 1371 | unsigned long flags; |
diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c index acb2de5e3a98..3bb4e534c14e 100644 --- a/drivers/char/cyclades.c +++ b/drivers/char/cyclades.c | |||
@@ -4101,7 +4101,7 @@ cy_ioctl(struct tty_struct *tty, struct file * file, | |||
4101 | * where old == NULL, and try to do something rational. | 4101 | * where old == NULL, and try to do something rational. |
4102 | */ | 4102 | */ |
4103 | static void | 4103 | static void |
4104 | cy_set_termios(struct tty_struct *tty, struct termios * old_termios) | 4104 | cy_set_termios(struct tty_struct *tty, struct ktermios * old_termios) |
4105 | { | 4105 | { |
4106 | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; | 4106 | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; |
4107 | 4107 | ||
diff --git a/drivers/char/epca.c b/drivers/char/epca.c index 7c71eb779802..a0f822c9d74d 100644 --- a/drivers/char/epca.c +++ b/drivers/char/epca.c | |||
@@ -199,7 +199,7 @@ static int pc_ioctl(struct tty_struct *, struct file *, | |||
199 | unsigned int, unsigned long); | 199 | unsigned int, unsigned long); |
200 | static int info_ioctl(struct tty_struct *, struct file *, | 200 | static int info_ioctl(struct tty_struct *, struct file *, |
201 | unsigned int, unsigned long); | 201 | unsigned int, unsigned long); |
202 | static void pc_set_termios(struct tty_struct *, struct termios *); | 202 | static void pc_set_termios(struct tty_struct *, struct ktermios *); |
203 | static void do_softint(struct work_struct *work); | 203 | static void do_softint(struct work_struct *work); |
204 | static void pc_stop(struct tty_struct *); | 204 | static void pc_stop(struct tty_struct *); |
205 | static void pc_start(struct tty_struct *); | 205 | static void pc_start(struct tty_struct *); |
@@ -1236,6 +1236,8 @@ static int __init pc_init(void) | |||
1236 | pc_driver->init_termios.c_oflag = 0; | 1236 | pc_driver->init_termios.c_oflag = 0; |
1237 | pc_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | CLOCAL | HUPCL; | 1237 | pc_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | CLOCAL | HUPCL; |
1238 | pc_driver->init_termios.c_lflag = 0; | 1238 | pc_driver->init_termios.c_lflag = 0; |
1239 | pc_driver->init_termios.c_ispeed = 9600; | ||
1240 | pc_driver->init_termios.c_ospeed = 9600; | ||
1239 | pc_driver->flags = TTY_DRIVER_REAL_RAW; | 1241 | pc_driver->flags = TTY_DRIVER_REAL_RAW; |
1240 | tty_set_operations(pc_driver, &pc_ops); | 1242 | tty_set_operations(pc_driver, &pc_ops); |
1241 | 1243 | ||
@@ -1250,6 +1252,8 @@ static int __init pc_init(void) | |||
1250 | pc_info->init_termios.c_oflag = 0; | 1252 | pc_info->init_termios.c_oflag = 0; |
1251 | pc_info->init_termios.c_lflag = 0; | 1253 | pc_info->init_termios.c_lflag = 0; |
1252 | pc_info->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL; | 1254 | pc_info->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL; |
1255 | pc_info->init_termios.c_ispeed = 9600; | ||
1256 | pc_info->init_termios.c_ospeed = 9600; | ||
1253 | pc_info->flags = TTY_DRIVER_REAL_RAW; | 1257 | pc_info->flags = TTY_DRIVER_REAL_RAW; |
1254 | tty_set_operations(pc_info, &info_ops); | 1258 | tty_set_operations(pc_info, &info_ops); |
1255 | 1259 | ||
@@ -1999,7 +2003,7 @@ static void epcaparam(struct tty_struct *tty, struct channel *ch) | |||
1999 | { /* Begin epcaparam */ | 2003 | { /* Begin epcaparam */ |
2000 | 2004 | ||
2001 | unsigned int cmdHead; | 2005 | unsigned int cmdHead; |
2002 | struct termios *ts; | 2006 | struct ktermios *ts; |
2003 | struct board_chan __iomem *bc; | 2007 | struct board_chan __iomem *bc; |
2004 | unsigned mval, hflow, cflag, iflag; | 2008 | unsigned mval, hflow, cflag, iflag; |
2005 | 2009 | ||
@@ -2114,7 +2118,7 @@ static void receive_data(struct channel *ch) | |||
2114 | { /* Begin receive_data */ | 2118 | { /* Begin receive_data */ |
2115 | 2119 | ||
2116 | unchar *rptr; | 2120 | unchar *rptr; |
2117 | struct termios *ts = NULL; | 2121 | struct ktermios *ts = NULL; |
2118 | struct tty_struct *tty; | 2122 | struct tty_struct *tty; |
2119 | struct board_chan __iomem *bc; | 2123 | struct board_chan __iomem *bc; |
2120 | int dataToRead, wrapgap, bytesAvailable; | 2124 | int dataToRead, wrapgap, bytesAvailable; |
@@ -2362,12 +2366,14 @@ static int pc_ioctl(struct tty_struct *tty, struct file * file, | |||
2362 | switch (cmd) | 2366 | switch (cmd) |
2363 | { /* Begin switch cmd */ | 2367 | { /* Begin switch cmd */ |
2364 | 2368 | ||
2369 | #if 0 /* Handled by calling layer properly */ | ||
2365 | case TCGETS: | 2370 | case TCGETS: |
2366 | if (copy_to_user(argp, tty->termios, sizeof(struct termios))) | 2371 | if (copy_to_user(argp, tty->termios, sizeof(struct ktermios))) |
2367 | return -EFAULT; | 2372 | return -EFAULT; |
2368 | return 0; | 2373 | return 0; |
2369 | case TCGETA: | 2374 | case TCGETA: |
2370 | return get_termio(tty, argp); | 2375 | return get_termio(tty, argp); |
2376 | #endif | ||
2371 | case TCSBRK: /* SVID version: non-zero arg --> no break */ | 2377 | case TCSBRK: /* SVID version: non-zero arg --> no break */ |
2372 | retval = tty_check_change(tty); | 2378 | retval = tty_check_change(tty); |
2373 | if (retval) | 2379 | if (retval) |
@@ -2536,7 +2542,7 @@ static int pc_ioctl(struct tty_struct *tty, struct file * file, | |||
2536 | 2542 | ||
2537 | /* --------------------- Begin pc_set_termios ----------------------- */ | 2543 | /* --------------------- Begin pc_set_termios ----------------------- */ |
2538 | 2544 | ||
2539 | static void pc_set_termios(struct tty_struct *tty, struct termios *old_termios) | 2545 | static void pc_set_termios(struct tty_struct *tty, struct ktermios *old_termios) |
2540 | { /* Begin pc_set_termios */ | 2546 | { /* Begin pc_set_termios */ |
2541 | 2547 | ||
2542 | struct channel *ch; | 2548 | struct channel *ch; |
diff --git a/drivers/char/esp.c b/drivers/char/esp.c index 93b551962513..d1bfbaa2aa02 100644 --- a/drivers/char/esp.c +++ b/drivers/char/esp.c | |||
@@ -1915,7 +1915,7 @@ static int rs_ioctl(struct tty_struct *tty, struct file * file, | |||
1915 | return 0; | 1915 | return 0; |
1916 | } | 1916 | } |
1917 | 1917 | ||
1918 | static void rs_set_termios(struct tty_struct *tty, struct termios *old_termios) | 1918 | static void rs_set_termios(struct tty_struct *tty, struct ktermios *old_termios) |
1919 | { | 1919 | { |
1920 | struct esp_struct *info = (struct esp_struct *)tty->driver_data; | 1920 | struct esp_struct *info = (struct esp_struct *)tty->driver_data; |
1921 | unsigned long flags; | 1921 | unsigned long flags; |
diff --git a/drivers/char/generic_serial.c b/drivers/char/generic_serial.c index 87127e49c0db..e769811e7417 100644 --- a/drivers/char/generic_serial.c +++ b/drivers/char/generic_serial.c | |||
@@ -718,11 +718,11 @@ static unsigned int gs_baudrates[] = { | |||
718 | 718 | ||
719 | 719 | ||
720 | void gs_set_termios (struct tty_struct * tty, | 720 | void gs_set_termios (struct tty_struct * tty, |
721 | struct termios * old_termios) | 721 | struct ktermios * old_termios) |
722 | { | 722 | { |
723 | struct gs_port *port; | 723 | struct gs_port *port; |
724 | int baudrate, tmp, rv; | 724 | int baudrate, tmp, rv; |
725 | struct termios *tiosp; | 725 | struct ktermios *tiosp; |
726 | 726 | ||
727 | func_enter(); | 727 | func_enter(); |
728 | 728 | ||
diff --git a/drivers/char/hvcs.c b/drivers/char/hvcs.c index d090622f1dea..207f7343ba60 100644 --- a/drivers/char/hvcs.c +++ b/drivers/char/hvcs.c | |||
@@ -192,11 +192,13 @@ MODULE_VERSION(HVCS_DRIVER_VERSION); | |||
192 | * that will cause echoing or we'll go into recursive loop echoing chars back | 192 | * that will cause echoing or we'll go into recursive loop echoing chars back |
193 | * and forth with the console drivers. | 193 | * and forth with the console drivers. |
194 | */ | 194 | */ |
195 | static struct termios hvcs_tty_termios = { | 195 | static struct ktermios hvcs_tty_termios = { |
196 | .c_iflag = IGNBRK | IGNPAR, | 196 | .c_iflag = IGNBRK | IGNPAR, |
197 | .c_oflag = OPOST, | 197 | .c_oflag = OPOST, |
198 | .c_cflag = B38400 | CS8 | CREAD | HUPCL, | 198 | .c_cflag = B38400 | CS8 | CREAD | HUPCL, |
199 | .c_cc = INIT_C_CC | 199 | .c_cc = INIT_C_CC, |
200 | .c_ispeed = 38400, | ||
201 | .c_ospeed = 38400 | ||
200 | }; | 202 | }; |
201 | 203 | ||
202 | /* | 204 | /* |
diff --git a/drivers/char/hvsi.c b/drivers/char/hvsi.c index 82a41d5b4ed0..d7806834fc17 100644 --- a/drivers/char/hvsi.c +++ b/drivers/char/hvsi.c | |||
@@ -1161,6 +1161,8 @@ static int __init hvsi_init(void) | |||
1161 | hvsi_driver->type = TTY_DRIVER_TYPE_SYSTEM; | 1161 | hvsi_driver->type = TTY_DRIVER_TYPE_SYSTEM; |
1162 | hvsi_driver->init_termios = tty_std_termios; | 1162 | hvsi_driver->init_termios = tty_std_termios; |
1163 | hvsi_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL; | 1163 | hvsi_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL; |
1164 | hvsi_driver->init_termios.c_ispeed = 9600; | ||
1165 | hvsi_driver->init_termios.c_ospeed = 9600; | ||
1164 | hvsi_driver->flags = TTY_DRIVER_REAL_RAW; | 1166 | hvsi_driver->flags = TTY_DRIVER_REAL_RAW; |
1165 | tty_set_operations(hvsi_driver, &hvsi_ops); | 1167 | tty_set_operations(hvsi_driver, &hvsi_ops); |
1166 | 1168 | ||
diff --git a/drivers/char/ip2/ip2main.c b/drivers/char/ip2/ip2main.c index 6810b7bbcbb7..7c70310a49b5 100644 --- a/drivers/char/ip2/ip2main.c +++ b/drivers/char/ip2/ip2main.c | |||
@@ -177,7 +177,7 @@ static int ip2_write_room(PTTY); | |||
177 | static int ip2_chars_in_buf(PTTY); | 177 | static int ip2_chars_in_buf(PTTY); |
178 | static void ip2_flush_buffer(PTTY); | 178 | static void ip2_flush_buffer(PTTY); |
179 | static int ip2_ioctl(PTTY, struct file *, UINT, ULONG); | 179 | static int ip2_ioctl(PTTY, struct file *, UINT, ULONG); |
180 | static void ip2_set_termios(PTTY, struct termios *); | 180 | static void ip2_set_termios(PTTY, struct ktermios *); |
181 | static void ip2_set_line_discipline(PTTY); | 181 | static void ip2_set_line_discipline(PTTY); |
182 | static void ip2_throttle(PTTY); | 182 | static void ip2_throttle(PTTY); |
183 | static void ip2_unthrottle(PTTY); | 183 | static void ip2_unthrottle(PTTY); |
@@ -198,7 +198,7 @@ static void do_status(struct work_struct *); | |||
198 | 198 | ||
199 | static void ip2_wait_until_sent(PTTY,int); | 199 | static void ip2_wait_until_sent(PTTY,int); |
200 | 200 | ||
201 | static void set_params (i2ChanStrPtr, struct termios *); | 201 | static void set_params (i2ChanStrPtr, struct ktermios *); |
202 | static int get_serial_info(i2ChanStrPtr, struct serial_struct __user *); | 202 | static int get_serial_info(i2ChanStrPtr, struct serial_struct __user *); |
203 | static int set_serial_info(i2ChanStrPtr, struct serial_struct __user *); | 203 | static int set_serial_info(i2ChanStrPtr, struct serial_struct __user *); |
204 | 204 | ||
@@ -2398,7 +2398,7 @@ set_serial_info( i2ChanStrPtr pCh, struct serial_struct __user *new_info ) | |||
2398 | /* */ | 2398 | /* */ |
2399 | /******************************************************************************/ | 2399 | /******************************************************************************/ |
2400 | static void | 2400 | static void |
2401 | ip2_set_termios( PTTY tty, struct termios *old_termios ) | 2401 | ip2_set_termios( PTTY tty, struct ktermios *old_termios ) |
2402 | { | 2402 | { |
2403 | i2ChanStrPtr pCh = (i2ChanStrPtr)tty->driver_data; | 2403 | i2ChanStrPtr pCh = (i2ChanStrPtr)tty->driver_data; |
2404 | 2404 | ||
@@ -2440,11 +2440,11 @@ ip2_set_line_discipline ( PTTY tty ) | |||
2440 | /* change. */ | 2440 | /* change. */ |
2441 | /******************************************************************************/ | 2441 | /******************************************************************************/ |
2442 | static void | 2442 | static void |
2443 | set_params( i2ChanStrPtr pCh, struct termios *o_tios ) | 2443 | set_params( i2ChanStrPtr pCh, struct ktermios *o_tios ) |
2444 | { | 2444 | { |
2445 | tcflag_t cflag, iflag, lflag; | 2445 | tcflag_t cflag, iflag, lflag; |
2446 | char stop_char, start_char; | 2446 | char stop_char, start_char; |
2447 | struct termios dummy; | 2447 | struct ktermios dummy; |
2448 | 2448 | ||
2449 | lflag = pCh->pTTY->termios->c_lflag; | 2449 | lflag = pCh->pTTY->termios->c_lflag; |
2450 | cflag = pCh->pTTY->termios->c_cflag; | 2450 | cflag = pCh->pTTY->termios->c_cflag; |
diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c index 1637c1d9a4ba..29e28b756336 100644 --- a/drivers/char/isicom.c +++ b/drivers/char/isicom.c | |||
@@ -1399,7 +1399,7 @@ static int isicom_ioctl(struct tty_struct *tty, struct file *filp, | |||
1399 | 1399 | ||
1400 | /* set_termios et all */ | 1400 | /* set_termios et all */ |
1401 | static void isicom_set_termios(struct tty_struct *tty, | 1401 | static void isicom_set_termios(struct tty_struct *tty, |
1402 | struct termios *old_termios) | 1402 | struct ktermios *old_termios) |
1403 | { | 1403 | { |
1404 | struct isi_port *port = tty->driver_data; | 1404 | struct isi_port *port = tty->driver_data; |
1405 | 1405 | ||
diff --git a/drivers/char/istallion.c b/drivers/char/istallion.c index b6f0d036a760..0ef2523733ee 100644 --- a/drivers/char/istallion.c +++ b/drivers/char/istallion.c | |||
@@ -194,9 +194,11 @@ static struct tty_struct *stli_txcooktty; | |||
194 | * with this termios initially. Basically all it defines is a raw port | 194 | * with this termios initially. Basically all it defines is a raw port |
195 | * at 9600 baud, 8 data bits, no parity, 1 stop bit. | 195 | * at 9600 baud, 8 data bits, no parity, 1 stop bit. |
196 | */ | 196 | */ |
197 | static struct termios stli_deftermios = { | 197 | static struct ktermios stli_deftermios = { |
198 | .c_cflag = (B9600 | CS8 | CREAD | HUPCL | CLOCAL), | 198 | .c_cflag = (B9600 | CS8 | CREAD | HUPCL | CLOCAL), |
199 | .c_cc = INIT_C_CC, | 199 | .c_cc = INIT_C_CC, |
200 | .c_ispeed = 9600, | ||
201 | .c_ospeed = 9600, | ||
200 | }; | 202 | }; |
201 | 203 | ||
202 | /* | 204 | /* |
@@ -639,7 +641,7 @@ static void stli_flushchars(struct tty_struct *tty); | |||
639 | static int stli_writeroom(struct tty_struct *tty); | 641 | static int stli_writeroom(struct tty_struct *tty); |
640 | static int stli_charsinbuffer(struct tty_struct *tty); | 642 | static int stli_charsinbuffer(struct tty_struct *tty); |
641 | static int stli_ioctl(struct tty_struct *tty, struct file *file, unsigned int cmd, unsigned long arg); | 643 | static int stli_ioctl(struct tty_struct *tty, struct file *file, unsigned int cmd, unsigned long arg); |
642 | static void stli_settermios(struct tty_struct *tty, struct termios *old); | 644 | static void stli_settermios(struct tty_struct *tty, struct ktermios *old); |
643 | static void stli_throttle(struct tty_struct *tty); | 645 | static void stli_throttle(struct tty_struct *tty); |
644 | static void stli_unthrottle(struct tty_struct *tty); | 646 | static void stli_unthrottle(struct tty_struct *tty); |
645 | static void stli_stop(struct tty_struct *tty); | 647 | static void stli_stop(struct tty_struct *tty); |
@@ -669,7 +671,7 @@ static int stli_cmdwait(stlibrd_t *brdp, stliport_t *portp, unsigned long cmd, v | |||
669 | static void stli_sendcmd(stlibrd_t *brdp, stliport_t *portp, unsigned long cmd, void *arg, int size, int copyback); | 671 | static void stli_sendcmd(stlibrd_t *brdp, stliport_t *portp, unsigned long cmd, void *arg, int size, int copyback); |
670 | static void __stli_sendcmd(stlibrd_t *brdp, stliport_t *portp, unsigned long cmd, void *arg, int size, int copyback); | 672 | static void __stli_sendcmd(stlibrd_t *brdp, stliport_t *portp, unsigned long cmd, void *arg, int size, int copyback); |
671 | static void stli_dodelaycmd(stliport_t *portp, cdkctrl_t __iomem *cp); | 673 | static void stli_dodelaycmd(stliport_t *portp, cdkctrl_t __iomem *cp); |
672 | static void stli_mkasyport(stliport_t *portp, asyport_t *pp, struct termios *tiosp); | 674 | static void stli_mkasyport(stliport_t *portp, asyport_t *pp, struct ktermios *tiosp); |
673 | static void stli_mkasysigs(asysigs_t *sp, int dtr, int rts); | 675 | static void stli_mkasysigs(asysigs_t *sp, int dtr, int rts); |
674 | static long stli_mktiocm(unsigned long sigvalue); | 676 | static long stli_mktiocm(unsigned long sigvalue); |
675 | static void stli_read(stlibrd_t *brdp, stliport_t *portp); | 677 | static void stli_read(stlibrd_t *brdp, stliport_t *portp); |
@@ -1889,11 +1891,11 @@ static int stli_ioctl(struct tty_struct *tty, struct file *file, unsigned int cm | |||
1889 | * Looks like it is true for the current ttys implementation..!! | 1891 | * Looks like it is true for the current ttys implementation..!! |
1890 | */ | 1892 | */ |
1891 | 1893 | ||
1892 | static void stli_settermios(struct tty_struct *tty, struct termios *old) | 1894 | static void stli_settermios(struct tty_struct *tty, struct ktermios *old) |
1893 | { | 1895 | { |
1894 | stliport_t *portp; | 1896 | stliport_t *portp; |
1895 | stlibrd_t *brdp; | 1897 | stlibrd_t *brdp; |
1896 | struct termios *tiosp; | 1898 | struct ktermios *tiosp; |
1897 | asyport_t aport; | 1899 | asyport_t aport; |
1898 | 1900 | ||
1899 | if (tty == NULL) | 1901 | if (tty == NULL) |
@@ -2730,7 +2732,7 @@ static void stli_poll(unsigned long arg) | |||
2730 | * the slave. | 2732 | * the slave. |
2731 | */ | 2733 | */ |
2732 | 2734 | ||
2733 | static void stli_mkasyport(stliport_t *portp, asyport_t *pp, struct termios *tiosp) | 2735 | static void stli_mkasyport(stliport_t *portp, asyport_t *pp, struct ktermios *tiosp) |
2734 | { | 2736 | { |
2735 | memset(pp, 0, sizeof(asyport_t)); | 2737 | memset(pp, 0, sizeof(asyport_t)); |
2736 | 2738 | ||
diff --git a/drivers/char/moxa.c b/drivers/char/moxa.c index 8b316953173d..f391a24a1b44 100644 --- a/drivers/char/moxa.c +++ b/drivers/char/moxa.c | |||
@@ -234,7 +234,7 @@ static void moxa_put_char(struct tty_struct *, unsigned char); | |||
234 | static int moxa_ioctl(struct tty_struct *, struct file *, unsigned int, unsigned long); | 234 | static int moxa_ioctl(struct tty_struct *, struct file *, unsigned int, unsigned long); |
235 | static void moxa_throttle(struct tty_struct *); | 235 | static void moxa_throttle(struct tty_struct *); |
236 | static void moxa_unthrottle(struct tty_struct *); | 236 | static void moxa_unthrottle(struct tty_struct *); |
237 | static void moxa_set_termios(struct tty_struct *, struct termios *); | 237 | static void moxa_set_termios(struct tty_struct *, struct ktermios *); |
238 | static void moxa_stop(struct tty_struct *); | 238 | static void moxa_stop(struct tty_struct *); |
239 | static void moxa_start(struct tty_struct *); | 239 | static void moxa_start(struct tty_struct *); |
240 | static void moxa_hangup(struct tty_struct *); | 240 | static void moxa_hangup(struct tty_struct *); |
@@ -261,7 +261,7 @@ static void MoxaPortEnable(int); | |||
261 | static void MoxaPortDisable(int); | 261 | static void MoxaPortDisable(int); |
262 | static long MoxaPortGetMaxBaud(int); | 262 | static long MoxaPortGetMaxBaud(int); |
263 | static long MoxaPortSetBaud(int, long); | 263 | static long MoxaPortSetBaud(int, long); |
264 | static int MoxaPortSetTermio(int, struct termios *, speed_t); | 264 | static int MoxaPortSetTermio(int, struct ktermios *, speed_t); |
265 | static int MoxaPortGetLineOut(int, int *, int *); | 265 | static int MoxaPortGetLineOut(int, int *, int *); |
266 | static void MoxaPortLineCtrl(int, int, int); | 266 | static void MoxaPortLineCtrl(int, int, int); |
267 | static void MoxaPortFlowCtrl(int, int, int, int, int, int); | 267 | static void MoxaPortFlowCtrl(int, int, int, int, int, int); |
@@ -355,6 +355,8 @@ static int __init moxa_init(void) | |||
355 | moxaDriver->init_termios.c_oflag = 0; | 355 | moxaDriver->init_termios.c_oflag = 0; |
356 | moxaDriver->init_termios.c_cflag = B9600 | CS8 | CREAD | CLOCAL | HUPCL; | 356 | moxaDriver->init_termios.c_cflag = B9600 | CS8 | CREAD | CLOCAL | HUPCL; |
357 | moxaDriver->init_termios.c_lflag = 0; | 357 | moxaDriver->init_termios.c_lflag = 0; |
358 | moxaDriver->init_termios.c_ispeed = 9600; | ||
359 | moxaDriver->init_termios.c_ospeed = 9600; | ||
358 | moxaDriver->flags = TTY_DRIVER_REAL_RAW; | 360 | moxaDriver->flags = TTY_DRIVER_REAL_RAW; |
359 | tty_set_operations(moxaDriver, &moxa_ops); | 361 | tty_set_operations(moxaDriver, &moxa_ops); |
360 | 362 | ||
@@ -864,7 +866,7 @@ static void moxa_unthrottle(struct tty_struct *tty) | |||
864 | } | 866 | } |
865 | 867 | ||
866 | static void moxa_set_termios(struct tty_struct *tty, | 868 | static void moxa_set_termios(struct tty_struct *tty, |
867 | struct termios *old_termios) | 869 | struct ktermios *old_termios) |
868 | { | 870 | { |
869 | struct moxa_str *ch = (struct moxa_str *) tty->driver_data; | 871 | struct moxa_str *ch = (struct moxa_str *) tty->driver_data; |
870 | 872 | ||
@@ -978,7 +980,7 @@ static void moxa_poll(unsigned long ignored) | |||
978 | 980 | ||
979 | static void set_tty_param(struct tty_struct *tty) | 981 | static void set_tty_param(struct tty_struct *tty) |
980 | { | 982 | { |
981 | register struct termios *ts; | 983 | register struct ktermios *ts; |
982 | struct moxa_str *ch; | 984 | struct moxa_str *ch; |
983 | int rts, cts, txflow, rxflow, xany; | 985 | int rts, cts, txflow, rxflow, xany; |
984 | 986 | ||
@@ -1149,7 +1151,7 @@ static void shut_down(struct moxa_str *ch) | |||
1149 | static void receive_data(struct moxa_str *ch) | 1151 | static void receive_data(struct moxa_str *ch) |
1150 | { | 1152 | { |
1151 | struct tty_struct *tp; | 1153 | struct tty_struct *tp; |
1152 | struct termios *ts; | 1154 | struct ktermios *ts; |
1153 | unsigned long flags; | 1155 | unsigned long flags; |
1154 | 1156 | ||
1155 | ts = NULL; | 1157 | ts = NULL; |
@@ -1912,9 +1914,9 @@ int MoxaPortsOfCard(int cardno) | |||
1912 | * | 1914 | * |
1913 | * Function 12: Configure the port. | 1915 | * Function 12: Configure the port. |
1914 | * Syntax: | 1916 | * Syntax: |
1915 | * int MoxaPortSetTermio(int port, struct termios *termio, speed_t baud); | 1917 | * int MoxaPortSetTermio(int port, struct ktermios *termio, speed_t baud); |
1916 | * int port : port number (0 - 127) | 1918 | * int port : port number (0 - 127) |
1917 | * struct termios * termio : termio structure pointer | 1919 | * struct ktermios * termio : termio structure pointer |
1918 | * speed_t baud : baud rate | 1920 | * speed_t baud : baud rate |
1919 | * | 1921 | * |
1920 | * return: -1 : this port is invalid or termio == NULL | 1922 | * return: -1 : this port is invalid or termio == NULL |
@@ -2195,7 +2197,7 @@ long MoxaPortSetBaud(int port, long baud) | |||
2195 | return (baud); | 2197 | return (baud); |
2196 | } | 2198 | } |
2197 | 2199 | ||
2198 | int MoxaPortSetTermio(int port, struct termios *termio, speed_t baud) | 2200 | int MoxaPortSetTermio(int port, struct ktermios *termio, speed_t baud) |
2199 | { | 2201 | { |
2200 | void __iomem *ofsAddr; | 2202 | void __iomem *ofsAddr; |
2201 | tcflag_t cflag; | 2203 | tcflag_t cflag; |
diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c index 2dc49be144e6..c063359baf78 100644 --- a/drivers/char/mxser.c +++ b/drivers/char/mxser.c | |||
@@ -328,8 +328,8 @@ struct mxser_struct { | |||
328 | int xmit_tail; | 328 | int xmit_tail; |
329 | int xmit_cnt; | 329 | int xmit_cnt; |
330 | struct work_struct tqueue; | 330 | struct work_struct tqueue; |
331 | struct termios normal_termios; | 331 | struct ktermios normal_termios; |
332 | struct termios callout_termios; | 332 | struct ktermios callout_termios; |
333 | wait_queue_head_t open_wait; | 333 | wait_queue_head_t open_wait; |
334 | wait_queue_head_t close_wait; | 334 | wait_queue_head_t close_wait; |
335 | wait_queue_head_t delta_msr_wait; | 335 | wait_queue_head_t delta_msr_wait; |
@@ -364,8 +364,8 @@ static int mxserBoardCAP[MXSER_BOARDS] = { | |||
364 | static struct tty_driver *mxvar_sdriver; | 364 | static struct tty_driver *mxvar_sdriver; |
365 | static struct mxser_struct mxvar_table[MXSER_PORTS]; | 365 | static struct mxser_struct mxvar_table[MXSER_PORTS]; |
366 | static struct tty_struct *mxvar_tty[MXSER_PORTS + 1]; | 366 | static struct tty_struct *mxvar_tty[MXSER_PORTS + 1]; |
367 | static struct termios *mxvar_termios[MXSER_PORTS + 1]; | 367 | static struct ktermios *mxvar_termios[MXSER_PORTS + 1]; |
368 | static struct termios *mxvar_termios_locked[MXSER_PORTS + 1]; | 368 | static struct ktermios *mxvar_termios_locked[MXSER_PORTS + 1]; |
369 | static struct mxser_log mxvar_log; | 369 | static struct mxser_log mxvar_log; |
370 | static int mxvar_diagflag; | 370 | static int mxvar_diagflag; |
371 | static unsigned char mxser_msr[MXSER_PORTS + 1]; | 371 | static unsigned char mxser_msr[MXSER_PORTS + 1]; |
@@ -402,7 +402,7 @@ static int mxser_ioctl(struct tty_struct *, struct file *, uint, ulong); | |||
402 | static int mxser_ioctl_special(unsigned int, void __user *); | 402 | static int mxser_ioctl_special(unsigned int, void __user *); |
403 | static void mxser_throttle(struct tty_struct *); | 403 | static void mxser_throttle(struct tty_struct *); |
404 | static void mxser_unthrottle(struct tty_struct *); | 404 | static void mxser_unthrottle(struct tty_struct *); |
405 | static void mxser_set_termios(struct tty_struct *, struct termios *); | 405 | static void mxser_set_termios(struct tty_struct *, struct ktermios *); |
406 | static void mxser_stop(struct tty_struct *); | 406 | static void mxser_stop(struct tty_struct *); |
407 | static void mxser_start(struct tty_struct *); | 407 | static void mxser_start(struct tty_struct *); |
408 | static void mxser_hangup(struct tty_struct *); | 408 | static void mxser_hangup(struct tty_struct *); |
@@ -414,7 +414,7 @@ static void mxser_check_modem_status(struct mxser_struct *, int); | |||
414 | static int mxser_block_til_ready(struct tty_struct *, struct file *, struct mxser_struct *); | 414 | static int mxser_block_til_ready(struct tty_struct *, struct file *, struct mxser_struct *); |
415 | static int mxser_startup(struct mxser_struct *); | 415 | static int mxser_startup(struct mxser_struct *); |
416 | static void mxser_shutdown(struct mxser_struct *); | 416 | static void mxser_shutdown(struct mxser_struct *); |
417 | static int mxser_change_speed(struct mxser_struct *, struct termios *old_termios); | 417 | static int mxser_change_speed(struct mxser_struct *, struct ktermios *old_termios); |
418 | static int mxser_get_serial_info(struct mxser_struct *, struct serial_struct __user *); | 418 | static int mxser_get_serial_info(struct mxser_struct *, struct serial_struct __user *); |
419 | static int mxser_set_serial_info(struct mxser_struct *, struct serial_struct __user *); | 419 | static int mxser_set_serial_info(struct mxser_struct *, struct serial_struct __user *); |
420 | static int mxser_get_lsr_info(struct mxser_struct *, unsigned int __user *); | 420 | static int mxser_get_lsr_info(struct mxser_struct *, unsigned int __user *); |
@@ -726,6 +726,8 @@ static int mxser_init(void) | |||
726 | mxvar_sdriver->subtype = SERIAL_TYPE_NORMAL; | 726 | mxvar_sdriver->subtype = SERIAL_TYPE_NORMAL; |
727 | mxvar_sdriver->init_termios = tty_std_termios; | 727 | mxvar_sdriver->init_termios = tty_std_termios; |
728 | mxvar_sdriver->init_termios.c_cflag = B9600|CS8|CREAD|HUPCL|CLOCAL; | 728 | mxvar_sdriver->init_termios.c_cflag = B9600|CS8|CREAD|HUPCL|CLOCAL; |
729 | mxvar_sdriver->init_termios.c_ispeed = 9600; | ||
730 | mxvar_sdriver->init_termios.c_ospeed = 9600; | ||
729 | mxvar_sdriver->flags = TTY_DRIVER_REAL_RAW; | 731 | mxvar_sdriver->flags = TTY_DRIVER_REAL_RAW; |
730 | tty_set_operations(mxvar_sdriver, &mxser_ops); | 732 | tty_set_operations(mxvar_sdriver, &mxser_ops); |
731 | mxvar_sdriver->ttys = mxvar_tty; | 733 | mxvar_sdriver->ttys = mxvar_tty; |
@@ -1749,7 +1751,7 @@ static void mxser_unthrottle(struct tty_struct *tty) | |||
1749 | /* MX_UNLOCK(&info->slock); */ | 1751 | /* MX_UNLOCK(&info->slock); */ |
1750 | } | 1752 | } |
1751 | 1753 | ||
1752 | static void mxser_set_termios(struct tty_struct *tty, struct termios *old_termios) | 1754 | static void mxser_set_termios(struct tty_struct *tty, struct ktermios *old_termios) |
1753 | { | 1755 | { |
1754 | struct mxser_struct *info = tty->driver_data; | 1756 | struct mxser_struct *info = tty->driver_data; |
1755 | unsigned long flags; | 1757 | unsigned long flags; |
@@ -2541,7 +2543,7 @@ static void mxser_shutdown(struct mxser_struct *info) | |||
2541 | * This routine is called to set the UART divisor registers to match | 2543 | * This routine is called to set the UART divisor registers to match |
2542 | * the specified baud rate for a serial port. | 2544 | * the specified baud rate for a serial port. |
2543 | */ | 2545 | */ |
2544 | static int mxser_change_speed(struct mxser_struct *info, struct termios *old_termios) | 2546 | static int mxser_change_speed(struct mxser_struct *info, struct ktermios *old_termios) |
2545 | { | 2547 | { |
2546 | unsigned cflag, cval, fcr; | 2548 | unsigned cflag, cval, fcr; |
2547 | int ret = 0; | 2549 | int ret = 0; |
diff --git a/drivers/char/mxser_new.c b/drivers/char/mxser_new.c index 369d2742d6be..efa8076c33e0 100644 --- a/drivers/char/mxser_new.c +++ b/drivers/char/mxser_new.c | |||
@@ -266,8 +266,8 @@ struct mxser_port { | |||
266 | int xmit_tail; | 266 | int xmit_tail; |
267 | int xmit_cnt; | 267 | int xmit_cnt; |
268 | 268 | ||
269 | struct termios normal_termios; | 269 | struct ktermios normal_termios; |
270 | struct termios callout_termios; | 270 | struct ktermios callout_termios; |
271 | 271 | ||
272 | struct mxser_mon mon_data; | 272 | struct mxser_mon mon_data; |
273 | 273 | ||
@@ -512,7 +512,7 @@ static int mxser_set_baud(struct mxser_port *info, long newspd) | |||
512 | * the specified baud rate for a serial port. | 512 | * the specified baud rate for a serial port. |
513 | */ | 513 | */ |
514 | static int mxser_change_speed(struct mxser_port *info, | 514 | static int mxser_change_speed(struct mxser_port *info, |
515 | struct termios *old_termios) | 515 | struct ktermios *old_termios) |
516 | { | 516 | { |
517 | unsigned cflag, cval, fcr; | 517 | unsigned cflag, cval, fcr; |
518 | int ret = 0; | 518 | int ret = 0; |
@@ -1966,7 +1966,7 @@ static void mxser_start(struct tty_struct *tty) | |||
1966 | spin_unlock_irqrestore(&info->slock, flags); | 1966 | spin_unlock_irqrestore(&info->slock, flags); |
1967 | } | 1967 | } |
1968 | 1968 | ||
1969 | static void mxser_set_termios(struct tty_struct *tty, struct termios *old_termios) | 1969 | static void mxser_set_termios(struct tty_struct *tty, struct ktermios *old_termios) |
1970 | { | 1970 | { |
1971 | struct mxser_port *info = tty->driver_data; | 1971 | struct mxser_port *info = tty->driver_data; |
1972 | unsigned long flags; | 1972 | unsigned long flags; |
diff --git a/drivers/char/n_r3964.c b/drivers/char/n_r3964.c index 203dc2b661d5..103d338f21e2 100644 --- a/drivers/char/n_r3964.c +++ b/drivers/char/n_r3964.c | |||
@@ -142,7 +142,7 @@ static ssize_t r3964_write(struct tty_struct * tty, struct file * file, | |||
142 | const unsigned char * buf, size_t nr); | 142 | const unsigned char * buf, size_t nr); |
143 | static int r3964_ioctl(struct tty_struct * tty, struct file * file, | 143 | static int r3964_ioctl(struct tty_struct * tty, struct file * file, |
144 | unsigned int cmd, unsigned long arg); | 144 | unsigned int cmd, unsigned long arg); |
145 | static void r3964_set_termios(struct tty_struct *tty, struct termios * old); | 145 | static void r3964_set_termios(struct tty_struct *tty, struct ktermios * old); |
146 | static unsigned int r3964_poll(struct tty_struct * tty, struct file * file, | 146 | static unsigned int r3964_poll(struct tty_struct * tty, struct file * file, |
147 | struct poll_table_struct *wait); | 147 | struct poll_table_struct *wait); |
148 | static void r3964_receive_buf(struct tty_struct *tty, const unsigned char *cp, | 148 | static void r3964_receive_buf(struct tty_struct *tty, const unsigned char *cp, |
@@ -1347,7 +1347,7 @@ static int r3964_ioctl(struct tty_struct * tty, struct file * file, | |||
1347 | } | 1347 | } |
1348 | } | 1348 | } |
1349 | 1349 | ||
1350 | static void r3964_set_termios(struct tty_struct *tty, struct termios * old) | 1350 | static void r3964_set_termios(struct tty_struct *tty, struct ktermios * old) |
1351 | { | 1351 | { |
1352 | TRACE_L("set_termios"); | 1352 | TRACE_L("set_termios"); |
1353 | } | 1353 | } |
diff --git a/drivers/char/n_tty.c b/drivers/char/n_tty.c index 603b9ade5eb0..e96a00fe1389 100644 --- a/drivers/char/n_tty.c +++ b/drivers/char/n_tty.c | |||
@@ -994,7 +994,7 @@ int is_ignored(int sig) | |||
994 | * when the ldisc is closed. | 994 | * when the ldisc is closed. |
995 | */ | 995 | */ |
996 | 996 | ||
997 | static void n_tty_set_termios(struct tty_struct *tty, struct termios * old) | 997 | static void n_tty_set_termios(struct tty_struct *tty, struct ktermios * old) |
998 | { | 998 | { |
999 | if (!tty) | 999 | if (!tty) |
1000 | return; | 1000 | return; |
diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c index 74d21c1c104f..5152cedd8878 100644 --- a/drivers/char/pcmcia/synclink_cs.c +++ b/drivers/char/pcmcia/synclink_cs.c | |||
@@ -2375,7 +2375,7 @@ static int ioctl_common(MGSLPC_INFO *info, unsigned int cmd, unsigned long arg) | |||
2375 | * tty pointer to tty structure | 2375 | * tty pointer to tty structure |
2376 | * termios pointer to buffer to hold returned old termios | 2376 | * termios pointer to buffer to hold returned old termios |
2377 | */ | 2377 | */ |
2378 | static void mgslpc_set_termios(struct tty_struct *tty, struct termios *old_termios) | 2378 | static void mgslpc_set_termios(struct tty_struct *tty, struct ktermios *old_termios) |
2379 | { | 2379 | { |
2380 | MGSLPC_INFO *info = (MGSLPC_INFO *)tty->driver_data; | 2380 | MGSLPC_INFO *info = (MGSLPC_INFO *)tty->driver_data; |
2381 | unsigned long flags; | 2381 | unsigned long flags; |
diff --git a/drivers/char/pty.c b/drivers/char/pty.c index 80d3eedd7f96..c07a1b5cd05d 100644 --- a/drivers/char/pty.c +++ b/drivers/char/pty.c | |||
@@ -218,7 +218,7 @@ out: | |||
218 | return retval; | 218 | return retval; |
219 | } | 219 | } |
220 | 220 | ||
221 | static void pty_set_termios(struct tty_struct *tty, struct termios *old_termios) | 221 | static void pty_set_termios(struct tty_struct *tty, struct ktermios *old_termios) |
222 | { | 222 | { |
223 | tty->termios->c_cflag &= ~(CSIZE | PARENB); | 223 | tty->termios->c_cflag &= ~(CSIZE | PARENB); |
224 | tty->termios->c_cflag |= (CS8 | CREAD); | 224 | tty->termios->c_cflag |= (CS8 | CREAD); |
@@ -272,6 +272,8 @@ static void __init legacy_pty_init(void) | |||
272 | pty_driver->init_termios.c_oflag = 0; | 272 | pty_driver->init_termios.c_oflag = 0; |
273 | pty_driver->init_termios.c_cflag = B38400 | CS8 | CREAD; | 273 | pty_driver->init_termios.c_cflag = B38400 | CS8 | CREAD; |
274 | pty_driver->init_termios.c_lflag = 0; | 274 | pty_driver->init_termios.c_lflag = 0; |
275 | pty_driver->init_termios.c_ispeed = 38400; | ||
276 | pty_driver->init_termios.c_ospeed = 38400; | ||
275 | pty_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW; | 277 | pty_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW; |
276 | pty_driver->other = pty_slave_driver; | 278 | pty_driver->other = pty_slave_driver; |
277 | tty_set_operations(pty_driver, &pty_ops); | 279 | tty_set_operations(pty_driver, &pty_ops); |
@@ -286,6 +288,8 @@ static void __init legacy_pty_init(void) | |||
286 | pty_slave_driver->subtype = PTY_TYPE_SLAVE; | 288 | pty_slave_driver->subtype = PTY_TYPE_SLAVE; |
287 | pty_slave_driver->init_termios = tty_std_termios; | 289 | pty_slave_driver->init_termios = tty_std_termios; |
288 | pty_slave_driver->init_termios.c_cflag = B38400 | CS8 | CREAD; | 290 | pty_slave_driver->init_termios.c_cflag = B38400 | CS8 | CREAD; |
291 | pty_slave_driver->init_termios.c_ispeed = 38400; | ||
292 | pty_slave_driver->init_termios.c_ospeed = 38400; | ||
289 | pty_slave_driver->flags = TTY_DRIVER_RESET_TERMIOS | | 293 | pty_slave_driver->flags = TTY_DRIVER_RESET_TERMIOS | |
290 | TTY_DRIVER_REAL_RAW; | 294 | TTY_DRIVER_REAL_RAW; |
291 | pty_slave_driver->other = pty_driver; | 295 | pty_slave_driver->other = pty_driver; |
@@ -366,6 +370,8 @@ static void __init unix98_pty_init(void) | |||
366 | ptm_driver->init_termios.c_oflag = 0; | 370 | ptm_driver->init_termios.c_oflag = 0; |
367 | ptm_driver->init_termios.c_cflag = B38400 | CS8 | CREAD; | 371 | ptm_driver->init_termios.c_cflag = B38400 | CS8 | CREAD; |
368 | ptm_driver->init_termios.c_lflag = 0; | 372 | ptm_driver->init_termios.c_lflag = 0; |
373 | ptm_driver->init_termios.c_ispeed = 38400; | ||
374 | ptm_driver->init_termios.c_ospeed = 38400; | ||
369 | ptm_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW | | 375 | ptm_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW | |
370 | TTY_DRIVER_DYNAMIC_DEV | TTY_DRIVER_DEVPTS_MEM; | 376 | TTY_DRIVER_DYNAMIC_DEV | TTY_DRIVER_DEVPTS_MEM; |
371 | ptm_driver->other = pts_driver; | 377 | ptm_driver->other = pts_driver; |
@@ -381,6 +387,8 @@ static void __init unix98_pty_init(void) | |||
381 | pts_driver->subtype = PTY_TYPE_SLAVE; | 387 | pts_driver->subtype = PTY_TYPE_SLAVE; |
382 | pts_driver->init_termios = tty_std_termios; | 388 | pts_driver->init_termios = tty_std_termios; |
383 | pts_driver->init_termios.c_cflag = B38400 | CS8 | CREAD; | 389 | pts_driver->init_termios.c_cflag = B38400 | CS8 | CREAD; |
390 | pts_driver->init_termios.c_ispeed = 38400; | ||
391 | pts_driver->init_termios.c_ospeed = 38400; | ||
384 | pts_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW | | 392 | pts_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW | |
385 | TTY_DRIVER_DYNAMIC_DEV | TTY_DRIVER_DEVPTS_MEM; | 393 | TTY_DRIVER_DYNAMIC_DEV | TTY_DRIVER_DEVPTS_MEM; |
386 | pts_driver->other = ptm_driver; | 394 | pts_driver->other = ptm_driver; |
diff --git a/drivers/char/riscom8.c b/drivers/char/riscom8.c index 0a77bfcd5b5e..e2a94bfb2a43 100644 --- a/drivers/char/riscom8.c +++ b/drivers/char/riscom8.c | |||
@@ -1539,7 +1539,7 @@ static void rc_hangup(struct tty_struct * tty) | |||
1539 | wake_up_interruptible(&port->open_wait); | 1539 | wake_up_interruptible(&port->open_wait); |
1540 | } | 1540 | } |
1541 | 1541 | ||
1542 | static void rc_set_termios(struct tty_struct * tty, struct termios * old_termios) | 1542 | static void rc_set_termios(struct tty_struct * tty, struct ktermios * old_termios) |
1543 | { | 1543 | { |
1544 | struct riscom_port *port = (struct riscom_port *)tty->driver_data; | 1544 | struct riscom_port *port = (struct riscom_port *)tty->driver_data; |
1545 | unsigned long flags; | 1545 | unsigned long flags; |
@@ -1614,6 +1614,8 @@ static inline int rc_init_drivers(void) | |||
1614 | riscom_driver->init_termios = tty_std_termios; | 1614 | riscom_driver->init_termios = tty_std_termios; |
1615 | riscom_driver->init_termios.c_cflag = | 1615 | riscom_driver->init_termios.c_cflag = |
1616 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; | 1616 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; |
1617 | riscom_driver->init_termios.c_ispeed = 9600; | ||
1618 | riscom_driver->init_termios.c_ospeed = 9600; | ||
1617 | riscom_driver->flags = TTY_DRIVER_REAL_RAW; | 1619 | riscom_driver->flags = TTY_DRIVER_REAL_RAW; |
1618 | tty_set_operations(riscom_driver, &riscom_ops); | 1620 | tty_set_operations(riscom_driver, &riscom_ops); |
1619 | if ((error = tty_register_driver(riscom_driver))) { | 1621 | if ((error = tty_register_driver(riscom_driver))) { |
diff --git a/drivers/char/rocket.c b/drivers/char/rocket.c index 4fdf52e9f3b1..e94a62e30fc4 100644 --- a/drivers/char/rocket.c +++ b/drivers/char/rocket.c | |||
@@ -712,7 +712,7 @@ static void init_r_port(int board, int aiop, int chan, struct pci_dev *pci_dev) | |||
712 | * user mode into the driver (exception handler). *info CD manipulation is spinlock protected. | 712 | * user mode into the driver (exception handler). *info CD manipulation is spinlock protected. |
713 | */ | 713 | */ |
714 | static void configure_r_port(struct r_port *info, | 714 | static void configure_r_port(struct r_port *info, |
715 | struct termios *old_termios) | 715 | struct ktermios *old_termios) |
716 | { | 716 | { |
717 | unsigned cflag; | 717 | unsigned cflag; |
718 | unsigned long flags; | 718 | unsigned long flags; |
@@ -1194,7 +1194,7 @@ static void rp_close(struct tty_struct *tty, struct file *filp) | |||
1194 | } | 1194 | } |
1195 | 1195 | ||
1196 | static void rp_set_termios(struct tty_struct *tty, | 1196 | static void rp_set_termios(struct tty_struct *tty, |
1197 | struct termios *old_termios) | 1197 | struct ktermios *old_termios) |
1198 | { | 1198 | { |
1199 | struct r_port *info = (struct r_port *) tty->driver_data; | 1199 | struct r_port *info = (struct r_port *) tty->driver_data; |
1200 | CHANNEL_t *cp; | 1200 | CHANNEL_t *cp; |
@@ -2214,7 +2214,7 @@ static int __init init_PCI(int boards_found) | |||
2214 | int count = 0; | 2214 | int count = 0; |
2215 | 2215 | ||
2216 | /* Work through the PCI device list, pulling out ours */ | 2216 | /* Work through the PCI device list, pulling out ours */ |
2217 | while ((dev = pci_find_device(PCI_VENDOR_ID_RP, PCI_ANY_ID, dev))) { | 2217 | while ((dev = pci_get_device(PCI_VENDOR_ID_RP, PCI_ANY_ID, dev))) { |
2218 | if (register_PCI(count + boards_found, dev)) | 2218 | if (register_PCI(count + boards_found, dev)) |
2219 | count++; | 2219 | count++; |
2220 | } | 2220 | } |
@@ -2436,6 +2436,8 @@ static int __init rp_init(void) | |||
2436 | rocket_driver->init_termios = tty_std_termios; | 2436 | rocket_driver->init_termios = tty_std_termios; |
2437 | rocket_driver->init_termios.c_cflag = | 2437 | rocket_driver->init_termios.c_cflag = |
2438 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; | 2438 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; |
2439 | rocket_driver->init_termios.c_ispeed = 9600; | ||
2440 | rocket_driver->init_termios.c_ospeed = 9600; | ||
2439 | #ifdef ROCKET_SOFT_FLOW | 2441 | #ifdef ROCKET_SOFT_FLOW |
2440 | rocket_driver->flags |= TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV; | 2442 | rocket_driver->flags |= TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV; |
2441 | #endif | 2443 | #endif |
diff --git a/drivers/char/ser_a2232.c b/drivers/char/ser_a2232.c index 4217d38caef9..75de5f66517a 100644 --- a/drivers/char/ser_a2232.c +++ b/drivers/char/ser_a2232.c | |||
@@ -695,6 +695,8 @@ static int a2232_init_drivers(void) | |||
695 | a2232_driver->init_termios = tty_std_termios; | 695 | a2232_driver->init_termios = tty_std_termios; |
696 | a2232_driver->init_termios.c_cflag = | 696 | a2232_driver->init_termios.c_cflag = |
697 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; | 697 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; |
698 | a2232_driver->init_termios.c_ispeed = 9600; | ||
699 | a2232_driver->init_termios.c_ospeed = 9600; | ||
698 | a2232_driver->flags = TTY_DRIVER_REAL_RAW; | 700 | a2232_driver->flags = TTY_DRIVER_REAL_RAW; |
699 | tty_set_operations(a2232_driver, &a2232_ops); | 701 | tty_set_operations(a2232_driver, &a2232_ops); |
700 | if ((error = tty_register_driver(a2232_driver))) { | 702 | if ((error = tty_register_driver(a2232_driver))) { |
diff --git a/drivers/char/serial167.c b/drivers/char/serial167.c index 9ba13af234be..af50d32ae2c7 100644 --- a/drivers/char/serial167.c +++ b/drivers/char/serial167.c | |||
@@ -1695,7 +1695,7 @@ cy_ioctl(struct tty_struct *tty, struct file * file, | |||
1695 | 1695 | ||
1696 | 1696 | ||
1697 | static void | 1697 | static void |
1698 | cy_set_termios(struct tty_struct *tty, struct termios * old_termios) | 1698 | cy_set_termios(struct tty_struct *tty, struct ktermios * old_termios) |
1699 | { | 1699 | { |
1700 | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; | 1700 | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; |
1701 | 1701 | ||
diff --git a/drivers/char/specialix.c b/drivers/char/specialix.c index 99137ab66b62..20946f5127e0 100644 --- a/drivers/char/specialix.c +++ b/drivers/char/specialix.c | |||
@@ -2311,7 +2311,7 @@ static void sx_hangup(struct tty_struct * tty) | |||
2311 | } | 2311 | } |
2312 | 2312 | ||
2313 | 2313 | ||
2314 | static void sx_set_termios(struct tty_struct * tty, struct termios * old_termios) | 2314 | static void sx_set_termios(struct tty_struct * tty, struct ktermios * old_termios) |
2315 | { | 2315 | { |
2316 | struct specialix_port *port = (struct specialix_port *)tty->driver_data; | 2316 | struct specialix_port *port = (struct specialix_port *)tty->driver_data; |
2317 | unsigned long flags; | 2317 | unsigned long flags; |
@@ -2400,6 +2400,8 @@ static int sx_init_drivers(void) | |||
2400 | specialix_driver->init_termios = tty_std_termios; | 2400 | specialix_driver->init_termios = tty_std_termios; |
2401 | specialix_driver->init_termios.c_cflag = | 2401 | specialix_driver->init_termios.c_cflag = |
2402 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; | 2402 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; |
2403 | specialix_driver->init_termios.c_ispeed = 9600; | ||
2404 | specialix_driver->init_termios.c_ospeed = 9600; | ||
2403 | specialix_driver->flags = TTY_DRIVER_REAL_RAW; | 2405 | specialix_driver->flags = TTY_DRIVER_REAL_RAW; |
2404 | tty_set_operations(specialix_driver, &sx_ops); | 2406 | tty_set_operations(specialix_driver, &sx_ops); |
2405 | 2407 | ||
@@ -2475,7 +2477,7 @@ static int __init specialix_init(void) | |||
2475 | i++; | 2477 | i++; |
2476 | continue; | 2478 | continue; |
2477 | } | 2479 | } |
2478 | pdev = pci_find_device (PCI_VENDOR_ID_SPECIALIX, | 2480 | pdev = pci_get_device (PCI_VENDOR_ID_SPECIALIX, |
2479 | PCI_DEVICE_ID_SPECIALIX_IO8, | 2481 | PCI_DEVICE_ID_SPECIALIX_IO8, |
2480 | pdev); | 2482 | pdev); |
2481 | if (!pdev) break; | 2483 | if (!pdev) break; |
@@ -2491,6 +2493,9 @@ static int __init specialix_init(void) | |||
2491 | if (!sx_probe(&sx_board[i])) | 2493 | if (!sx_probe(&sx_board[i])) |
2492 | found ++; | 2494 | found ++; |
2493 | } | 2495 | } |
2496 | /* May exit pci_get sequence early with lots of boards */ | ||
2497 | if (pdev != NULL) | ||
2498 | pci_dev_put(pdev); | ||
2494 | } | 2499 | } |
2495 | #endif | 2500 | #endif |
2496 | 2501 | ||
diff --git a/drivers/char/stallion.c b/drivers/char/stallion.c index a547c0c8fb2a..71bfdccfb42e 100644 --- a/drivers/char/stallion.c +++ b/drivers/char/stallion.c | |||
@@ -141,9 +141,11 @@ static struct tty_driver *stl_serial; | |||
141 | * with this termios initially. Basically all it defines is a raw port | 141 | * with this termios initially. Basically all it defines is a raw port |
142 | * at 9600, 8 data bits, 1 stop bit. | 142 | * at 9600, 8 data bits, 1 stop bit. |
143 | */ | 143 | */ |
144 | static struct termios stl_deftermios = { | 144 | static struct ktermios stl_deftermios = { |
145 | .c_cflag = (B9600 | CS8 | CREAD | HUPCL | CLOCAL), | 145 | .c_cflag = (B9600 | CS8 | CREAD | HUPCL | CLOCAL), |
146 | .c_cc = INIT_C_CC, | 146 | .c_cc = INIT_C_CC, |
147 | .c_ispeed = 9600, | ||
148 | .c_ospeed = 9600, | ||
147 | }; | 149 | }; |
148 | 150 | ||
149 | /* | 151 | /* |
@@ -464,7 +466,7 @@ static int stl_cd1400getreg(struct stlport *portp, int regnr); | |||
464 | static int stl_cd1400updatereg(struct stlport *portp, int regnr, int value); | 466 | static int stl_cd1400updatereg(struct stlport *portp, int regnr, int value); |
465 | static int stl_cd1400panelinit(struct stlbrd *brdp, struct stlpanel *panelp); | 467 | static int stl_cd1400panelinit(struct stlbrd *brdp, struct stlpanel *panelp); |
466 | static void stl_cd1400portinit(struct stlbrd *brdp, struct stlpanel *panelp, struct stlport *portp); | 468 | static void stl_cd1400portinit(struct stlbrd *brdp, struct stlpanel *panelp, struct stlport *portp); |
467 | static void stl_cd1400setport(struct stlport *portp, struct termios *tiosp); | 469 | static void stl_cd1400setport(struct stlport *portp, struct ktermios *tiosp); |
468 | static int stl_cd1400getsignals(struct stlport *portp); | 470 | static int stl_cd1400getsignals(struct stlport *portp); |
469 | static void stl_cd1400setsignals(struct stlport *portp, int dtr, int rts); | 471 | static void stl_cd1400setsignals(struct stlport *portp, int dtr, int rts); |
470 | static void stl_cd1400ccrwait(struct stlport *portp); | 472 | static void stl_cd1400ccrwait(struct stlport *portp); |
@@ -493,7 +495,7 @@ static int stl_sc26198updatereg(struct stlport *portp, int regnr, int value); | |||
493 | static int stl_sc26198getglobreg(struct stlport *portp, int regnr); | 495 | static int stl_sc26198getglobreg(struct stlport *portp, int regnr); |
494 | static int stl_sc26198panelinit(struct stlbrd *brdp, struct stlpanel *panelp); | 496 | static int stl_sc26198panelinit(struct stlbrd *brdp, struct stlpanel *panelp); |
495 | static void stl_sc26198portinit(struct stlbrd *brdp, struct stlpanel *panelp, struct stlport *portp); | 497 | static void stl_sc26198portinit(struct stlbrd *brdp, struct stlpanel *panelp, struct stlport *portp); |
496 | static void stl_sc26198setport(struct stlport *portp, struct termios *tiosp); | 498 | static void stl_sc26198setport(struct stlport *portp, struct ktermios *tiosp); |
497 | static int stl_sc26198getsignals(struct stlport *portp); | 499 | static int stl_sc26198getsignals(struct stlport *portp); |
498 | static void stl_sc26198setsignals(struct stlport *portp, int dtr, int rts); | 500 | static void stl_sc26198setsignals(struct stlport *portp, int dtr, int rts); |
499 | static void stl_sc26198enablerxtx(struct stlport *portp, int rx, int tx); | 501 | static void stl_sc26198enablerxtx(struct stlport *portp, int rx, int tx); |
@@ -521,7 +523,7 @@ static void stl_sc26198otherisr(struct stlport *port, unsigned int iack); | |||
521 | typedef struct uart { | 523 | typedef struct uart { |
522 | int (*panelinit)(struct stlbrd *brdp, struct stlpanel *panelp); | 524 | int (*panelinit)(struct stlbrd *brdp, struct stlpanel *panelp); |
523 | void (*portinit)(struct stlbrd *brdp, struct stlpanel *panelp, struct stlport *portp); | 525 | void (*portinit)(struct stlbrd *brdp, struct stlpanel *panelp, struct stlport *portp); |
524 | void (*setport)(struct stlport *portp, struct termios *tiosp); | 526 | void (*setport)(struct stlport *portp, struct ktermios *tiosp); |
525 | int (*getsignals)(struct stlport *portp); | 527 | int (*getsignals)(struct stlport *portp); |
526 | void (*setsignals)(struct stlport *portp, int dtr, int rts); | 528 | void (*setsignals)(struct stlport *portp, int dtr, int rts); |
527 | void (*enablerxtx)(struct stlport *portp, int rx, int tx); | 529 | void (*enablerxtx)(struct stlport *portp, int rx, int tx); |
@@ -1427,10 +1429,10 @@ static void stl_start(struct tty_struct *tty) | |||
1427 | 1429 | ||
1428 | /*****************************************************************************/ | 1430 | /*****************************************************************************/ |
1429 | 1431 | ||
1430 | static void stl_settermios(struct tty_struct *tty, struct termios *old) | 1432 | static void stl_settermios(struct tty_struct *tty, struct ktermios *old) |
1431 | { | 1433 | { |
1432 | struct stlport *portp; | 1434 | struct stlport *portp; |
1433 | struct termios *tiosp; | 1435 | struct ktermios *tiosp; |
1434 | 1436 | ||
1435 | pr_debug("stl_settermios(tty=%p,old=%p)\n", tty, old); | 1437 | pr_debug("stl_settermios(tty=%p,old=%p)\n", tty, old); |
1436 | 1438 | ||
@@ -2468,7 +2470,7 @@ static int __init stl_findpcibrds(void) | |||
2468 | pr_debug("stl_findpcibrds()\n"); | 2470 | pr_debug("stl_findpcibrds()\n"); |
2469 | 2471 | ||
2470 | for (i = 0; (i < stl_nrpcibrds); i++) | 2472 | for (i = 0; (i < stl_nrpcibrds); i++) |
2471 | while ((dev = pci_find_device(stl_pcibrds[i].vendid, | 2473 | while ((dev = pci_get_device(stl_pcibrds[i].vendid, |
2472 | stl_pcibrds[i].devid, dev))) { | 2474 | stl_pcibrds[i].devid, dev))) { |
2473 | 2475 | ||
2474 | /* | 2476 | /* |
@@ -2947,7 +2949,7 @@ static void stl_cd1400ccrwait(struct stlport *portp) | |||
2947 | * settings. | 2949 | * settings. |
2948 | */ | 2950 | */ |
2949 | 2951 | ||
2950 | static void stl_cd1400setport(struct stlport *portp, struct termios *tiosp) | 2952 | static void stl_cd1400setport(struct stlport *portp, struct ktermios *tiosp) |
2951 | { | 2953 | { |
2952 | struct stlbrd *brdp; | 2954 | struct stlbrd *brdp; |
2953 | unsigned long flags; | 2955 | unsigned long flags; |
@@ -3924,7 +3926,7 @@ static void stl_sc26198portinit(struct stlbrd *brdp, struct stlpanel *panelp, st | |||
3924 | * settings. | 3926 | * settings. |
3925 | */ | 3927 | */ |
3926 | 3928 | ||
3927 | static void stl_sc26198setport(struct stlport *portp, struct termios *tiosp) | 3929 | static void stl_sc26198setport(struct stlport *portp, struct ktermios *tiosp) |
3928 | { | 3930 | { |
3929 | struct stlbrd *brdp; | 3931 | struct stlbrd *brdp; |
3930 | unsigned long flags; | 3932 | unsigned long flags; |
diff --git a/drivers/char/sx.c b/drivers/char/sx.c index cc10af08cb05..e9bc147c32fe 100644 --- a/drivers/char/sx.c +++ b/drivers/char/sx.c | |||
@@ -2263,6 +2263,8 @@ static int sx_init_drivers(void) | |||
2263 | sx_driver->init_termios = tty_std_termios; | 2263 | sx_driver->init_termios = tty_std_termios; |
2264 | sx_driver->init_termios.c_cflag = | 2264 | sx_driver->init_termios.c_cflag = |
2265 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; | 2265 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; |
2266 | sx_driver->init_termios.c_ispeed = 9600; | ||
2267 | sx_driver->init_termios.c_ospeed = 9600; | ||
2266 | sx_driver->flags = TTY_DRIVER_REAL_RAW; | 2268 | sx_driver->flags = TTY_DRIVER_REAL_RAW; |
2267 | tty_set_operations(sx_driver, &sx_ops); | 2269 | tty_set_operations(sx_driver, &sx_ops); |
2268 | 2270 | ||
diff --git a/drivers/char/synclink.c b/drivers/char/synclink.c index 645187b9141e..acc6fab601cc 100644 --- a/drivers/char/synclink.c +++ b/drivers/char/synclink.c | |||
@@ -3060,7 +3060,7 @@ static int mgsl_ioctl_common(struct mgsl_struct *info, unsigned int cmd, unsigne | |||
3060 | * | 3060 | * |
3061 | * Return Value: None | 3061 | * Return Value: None |
3062 | */ | 3062 | */ |
3063 | static void mgsl_set_termios(struct tty_struct *tty, struct termios *old_termios) | 3063 | static void mgsl_set_termios(struct tty_struct *tty, struct ktermios *old_termios) |
3064 | { | 3064 | { |
3065 | struct mgsl_struct *info = (struct mgsl_struct *)tty->driver_data; | 3065 | struct mgsl_struct *info = (struct mgsl_struct *)tty->driver_data; |
3066 | unsigned long flags; | 3066 | unsigned long flags; |
@@ -4405,6 +4405,8 @@ static int mgsl_init_tty(void) | |||
4405 | serial_driver->init_termios = tty_std_termios; | 4405 | serial_driver->init_termios = tty_std_termios; |
4406 | serial_driver->init_termios.c_cflag = | 4406 | serial_driver->init_termios.c_cflag = |
4407 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; | 4407 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; |
4408 | serial_driver->init_termios.c_ispeed = 9600; | ||
4409 | serial_driver->init_termios.c_ospeed = 9600; | ||
4408 | serial_driver->flags = TTY_DRIVER_REAL_RAW; | 4410 | serial_driver->flags = TTY_DRIVER_REAL_RAW; |
4409 | tty_set_operations(serial_driver, &mgsl_ops); | 4411 | tty_set_operations(serial_driver, &mgsl_ops); |
4410 | if ((rc = tty_register_driver(serial_driver)) < 0) { | 4412 | if ((rc = tty_register_driver(serial_driver)) < 0) { |
diff --git a/drivers/char/synclink_gt.c b/drivers/char/synclink_gt.c index e4730a7312b5..792c79c315e0 100644 --- a/drivers/char/synclink_gt.c +++ b/drivers/char/synclink_gt.c | |||
@@ -151,7 +151,7 @@ static struct tty_driver *serial_driver; | |||
151 | static int open(struct tty_struct *tty, struct file * filp); | 151 | static int open(struct tty_struct *tty, struct file * filp); |
152 | static void close(struct tty_struct *tty, struct file * filp); | 152 | static void close(struct tty_struct *tty, struct file * filp); |
153 | static void hangup(struct tty_struct *tty); | 153 | static void hangup(struct tty_struct *tty); |
154 | static void set_termios(struct tty_struct *tty, struct termios *old_termios); | 154 | static void set_termios(struct tty_struct *tty, struct ktermios *old_termios); |
155 | 155 | ||
156 | static int write(struct tty_struct *tty, const unsigned char *buf, int count); | 156 | static int write(struct tty_struct *tty, const unsigned char *buf, int count); |
157 | static void put_char(struct tty_struct *tty, unsigned char ch); | 157 | static void put_char(struct tty_struct *tty, unsigned char ch); |
@@ -816,7 +816,7 @@ static void hangup(struct tty_struct *tty) | |||
816 | wake_up_interruptible(&info->open_wait); | 816 | wake_up_interruptible(&info->open_wait); |
817 | } | 817 | } |
818 | 818 | ||
819 | static void set_termios(struct tty_struct *tty, struct termios *old_termios) | 819 | static void set_termios(struct tty_struct *tty, struct ktermios *old_termios) |
820 | { | 820 | { |
821 | struct slgt_info *info = tty->driver_data; | 821 | struct slgt_info *info = tty->driver_data; |
822 | unsigned long flags; | 822 | unsigned long flags; |
@@ -3546,6 +3546,8 @@ static int __init slgt_init(void) | |||
3546 | serial_driver->init_termios = tty_std_termios; | 3546 | serial_driver->init_termios = tty_std_termios; |
3547 | serial_driver->init_termios.c_cflag = | 3547 | serial_driver->init_termios.c_cflag = |
3548 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; | 3548 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; |
3549 | serial_driver->init_termios.c_ispeed = 9600; | ||
3550 | serial_driver->init_termios.c_ospeed = 9600; | ||
3549 | serial_driver->flags = TTY_DRIVER_REAL_RAW; | 3551 | serial_driver->flags = TTY_DRIVER_REAL_RAW; |
3550 | tty_set_operations(serial_driver, &ops); | 3552 | tty_set_operations(serial_driver, &ops); |
3551 | if ((rc = tty_register_driver(serial_driver)) < 0) { | 3553 | if ((rc = tty_register_driver(serial_driver)) < 0) { |
diff --git a/drivers/char/synclinkmp.c b/drivers/char/synclinkmp.c index 20a96ef250be..53e8ccf94fe3 100644 --- a/drivers/char/synclinkmp.c +++ b/drivers/char/synclinkmp.c | |||
@@ -519,7 +519,7 @@ static struct tty_driver *serial_driver; | |||
519 | static int open(struct tty_struct *tty, struct file * filp); | 519 | static int open(struct tty_struct *tty, struct file * filp); |
520 | static void close(struct tty_struct *tty, struct file * filp); | 520 | static void close(struct tty_struct *tty, struct file * filp); |
521 | static void hangup(struct tty_struct *tty); | 521 | static void hangup(struct tty_struct *tty); |
522 | static void set_termios(struct tty_struct *tty, struct termios *old_termios); | 522 | static void set_termios(struct tty_struct *tty, struct ktermios *old_termios); |
523 | 523 | ||
524 | static int write(struct tty_struct *tty, const unsigned char *buf, int count); | 524 | static int write(struct tty_struct *tty, const unsigned char *buf, int count); |
525 | static void put_char(struct tty_struct *tty, unsigned char ch); | 525 | static void put_char(struct tty_struct *tty, unsigned char ch); |
@@ -918,7 +918,7 @@ static void hangup(struct tty_struct *tty) | |||
918 | 918 | ||
919 | /* Set new termios settings | 919 | /* Set new termios settings |
920 | */ | 920 | */ |
921 | static void set_termios(struct tty_struct *tty, struct termios *old_termios) | 921 | static void set_termios(struct tty_struct *tty, struct ktermios *old_termios) |
922 | { | 922 | { |
923 | SLMP_INFO *info = (SLMP_INFO *)tty->driver_data; | 923 | SLMP_INFO *info = (SLMP_INFO *)tty->driver_data; |
924 | unsigned long flags; | 924 | unsigned long flags; |
@@ -4034,6 +4034,8 @@ static int __init synclinkmp_init(void) | |||
4034 | serial_driver->init_termios = tty_std_termios; | 4034 | serial_driver->init_termios = tty_std_termios; |
4035 | serial_driver->init_termios.c_cflag = | 4035 | serial_driver->init_termios.c_cflag = |
4036 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; | 4036 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; |
4037 | serial_driver->init_termios.c_ispeed = 9600; | ||
4038 | serial_driver->init_termios.c_ospeed = 9600; | ||
4037 | serial_driver->flags = TTY_DRIVER_REAL_RAW; | 4039 | serial_driver->flags = TTY_DRIVER_REAL_RAW; |
4038 | tty_set_operations(serial_driver, &ops); | 4040 | tty_set_operations(serial_driver, &ops); |
4039 | if ((rc = tty_register_driver(serial_driver)) < 0) { | 4041 | if ((rc = tty_register_driver(serial_driver)) < 0) { |
diff --git a/drivers/char/tty_ioctl.c b/drivers/char/tty_ioctl.c index 0ffba4e911ca..30486df9fd3f 100644 --- a/drivers/char/tty_ioctl.c +++ b/drivers/char/tty_ioctl.c | |||
@@ -495,8 +495,8 @@ static int get_sgttyb(struct tty_struct * tty, struct sgttyb __user * sgttyb) | |||
495 | struct sgttyb tmp; | 495 | struct sgttyb tmp; |
496 | 496 | ||
497 | mutex_lock(&tty->termios_mutex); | 497 | mutex_lock(&tty->termios_mutex); |
498 | tmp.sg_ispeed = tty->c_ispeed; | 498 | tmp.sg_ispeed = tty->termios->c_ispeed; |
499 | tmp.sg_ospeed = tty->c_ospeed; | 499 | tmp.sg_ospeed = tty->termios->c_ospeed; |
500 | tmp.sg_erase = tty->termios->c_cc[VERASE]; | 500 | tmp.sg_erase = tty->termios->c_cc[VERASE]; |
501 | tmp.sg_kill = tty->termios->c_cc[VKILL]; | 501 | tmp.sg_kill = tty->termios->c_cc[VKILL]; |
502 | tmp.sg_flags = get_sgflags(tty); | 502 | tmp.sg_flags = get_sgflags(tty); |
diff --git a/drivers/char/vme_scc.c b/drivers/char/vme_scc.c index d0b94dd1af6d..e01317cb1a0e 100644 --- a/drivers/char/vme_scc.c +++ b/drivers/char/vme_scc.c | |||
@@ -153,6 +153,8 @@ static int scc_init_drivers(void) | |||
153 | scc_driver->init_termios = tty_std_termios; | 153 | scc_driver->init_termios = tty_std_termios; |
154 | scc_driver->init_termios.c_cflag = | 154 | scc_driver->init_termios.c_cflag = |
155 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; | 155 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; |
156 | scc_driver->init_termios.c_ispeed = 9600; | ||
157 | scc_driver->init_termios.c_ospeed = 9600; | ||
156 | scc_driver->flags = TTY_DRIVER_REAL_RAW; | 158 | scc_driver->flags = TTY_DRIVER_REAL_RAW; |
157 | tty_set_operations(scc_driver, &scc_ops); | 159 | tty_set_operations(scc_driver, &scc_ops); |
158 | 160 | ||