Commit ba43294d authored by Jiri Slaby's avatar Jiri Slaby Committed by Greg Kroah-Hartman

TTY: isdn, use tty from tty_port

No recounting this time, just a plain switch.
Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
Cc: Karsten Keil <isdn@linux-pingi.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 1b05f030
...@@ -68,7 +68,7 @@ isdn_tty_try_read(modem_info *info, struct sk_buff *skb) ...@@ -68,7 +68,7 @@ isdn_tty_try_read(modem_info *info, struct sk_buff *skb)
if (!info->online) if (!info->online)
return 0; return 0;
tty = info->tty; tty = info->port.tty;
if (!tty) if (!tty)
return 0; return 0;
...@@ -144,7 +144,7 @@ isdn_tty_readmodem(void) ...@@ -144,7 +144,7 @@ isdn_tty_readmodem(void)
if ((info->vonline & 1) && (info->emu.vpar[1])) if ((info->vonline & 1) && (info->emu.vpar[1]))
isdn_audio_eval_silence(info); isdn_audio_eval_silence(info);
#endif #endif
tty = info->tty; tty = info->port.tty;
if (tty) { if (tty) {
if (info->mcr & UART_MCR_RTS) { if (info->mcr & UART_MCR_RTS) {
/* CISCO AsyncPPP Hack */ /* CISCO AsyncPPP Hack */
...@@ -300,7 +300,7 @@ isdn_tty_tint(modem_info *info) ...@@ -300,7 +300,7 @@ isdn_tty_tint(modem_info *info)
len = skb->len; len = skb->len;
if ((slen = isdn_writebuf_skb_stub(info->isdn_driver, if ((slen = isdn_writebuf_skb_stub(info->isdn_driver,
info->isdn_channel, 1, skb)) == len) { info->isdn_channel, 1, skb)) == len) {
struct tty_struct *tty = info->tty; struct tty_struct *tty = info->port.tty;
info->send_outstanding++; info->send_outstanding++;
info->msr &= ~UART_MSR_CTS; info->msr &= ~UART_MSR_CTS;
info->lsr &= ~UART_LSR_TEMT; info->lsr &= ~UART_LSR_TEMT;
...@@ -705,7 +705,7 @@ isdn_tty_modem_hup(modem_info *info, int local) ...@@ -705,7 +705,7 @@ isdn_tty_modem_hup(modem_info *info, int local)
printk(KERN_DEBUG "Mhup ttyI%d\n", info->line); printk(KERN_DEBUG "Mhup ttyI%d\n", info->line);
#endif #endif
info->rcvsched = 0; info->rcvsched = 0;
isdn_tty_flush_buffer(info->tty); isdn_tty_flush_buffer(info->port.tty);
if (info->online) { if (info->online) {
info->last_lhup = local; info->last_lhup = local;
info->online = 0; info->online = 0;
...@@ -1008,15 +1008,15 @@ isdn_tty_change_speed(modem_info *info) ...@@ -1008,15 +1008,15 @@ isdn_tty_change_speed(modem_info *info)
quot; quot;
int i; int i;
if (!info->tty || !info->tty->termios) if (!info->port.tty || !info->port.tty->termios)
return; return;
cflag = info->tty->termios->c_cflag; cflag = info->port.tty->termios->c_cflag;
quot = i = cflag & CBAUD; quot = i = cflag & CBAUD;
if (i & CBAUDEX) { if (i & CBAUDEX) {
i &= ~CBAUDEX; i &= ~CBAUDEX;
if (i < 1 || i > 2) if (i < 1 || i > 2)
info->tty->termios->c_cflag &= ~CBAUDEX; info->port.tty->termios->c_cflag &= ~CBAUDEX;
else else
i += 15; i += 15;
} }
...@@ -1069,8 +1069,8 @@ isdn_tty_startup(modem_info *info) ...@@ -1069,8 +1069,8 @@ isdn_tty_startup(modem_info *info)
* Now, initialize the UART * Now, initialize the UART
*/ */
info->mcr = UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2; info->mcr = UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2;
if (info->tty) if (info->port.tty)
clear_bit(TTY_IO_ERROR, &info->tty->flags); clear_bit(TTY_IO_ERROR, &info->port.tty->flags);
/* /*
* and set the speed of the serial port * and set the speed of the serial port
*/ */
...@@ -1096,7 +1096,7 @@ isdn_tty_shutdown(modem_info *info) ...@@ -1096,7 +1096,7 @@ isdn_tty_shutdown(modem_info *info)
#endif #endif
isdn_unlock_drivers(); isdn_unlock_drivers();
info->msr &= ~UART_MSR_RI; info->msr &= ~UART_MSR_RI;
if (!info->tty || (info->tty->termios->c_cflag & HUPCL)) { if (!info->port.tty || (info->port.tty->termios->c_cflag & HUPCL)) {
info->mcr &= ~(UART_MCR_DTR | UART_MCR_RTS); info->mcr &= ~(UART_MCR_DTR | UART_MCR_RTS);
if (info->emu.mdmreg[REG_DTRHUP] & BIT_DTRHUP) { if (info->emu.mdmreg[REG_DTRHUP] & BIT_DTRHUP) {
isdn_tty_modem_reset_regs(info, 0); isdn_tty_modem_reset_regs(info, 0);
...@@ -1106,8 +1106,8 @@ isdn_tty_shutdown(modem_info *info) ...@@ -1106,8 +1106,8 @@ isdn_tty_shutdown(modem_info *info)
isdn_tty_modem_hup(info, 1); isdn_tty_modem_hup(info, 1);
} }
} }
if (info->tty) if (info->port.tty)
set_bit(TTY_IO_ERROR, &info->tty->flags); set_bit(TTY_IO_ERROR, &info->port.tty->flags);
info->port.flags &= ~ASYNC_INITIALIZED; info->port.flags &= ~ASYNC_INITIALIZED;
} }
...@@ -1599,7 +1599,7 @@ isdn_tty_open(struct tty_struct *tty, struct file *filp) ...@@ -1599,7 +1599,7 @@ isdn_tty_open(struct tty_struct *tty, struct file *filp)
#endif #endif
info->port.count++; info->port.count++;
tty->driver_data = info; tty->driver_data = info;
info->tty = tty; info->port.tty = tty;
tty->port = &info->port; tty->port = &info->port;
/* /*
* Start up serial port * Start up serial port
...@@ -1692,7 +1692,7 @@ isdn_tty_close(struct tty_struct *tty, struct file *filp) ...@@ -1692,7 +1692,7 @@ isdn_tty_close(struct tty_struct *tty, struct file *filp)
isdn_tty_shutdown(info); isdn_tty_shutdown(info);
isdn_tty_flush_buffer(tty); isdn_tty_flush_buffer(tty);
tty_ldisc_flush(tty); tty_ldisc_flush(tty);
info->tty = NULL; info->port.tty = NULL;
info->ncarrier = 0; info->ncarrier = 0;
tty->closing = 0; tty->closing = 0;
if (info->port.blocked_open) { if (info->port.blocked_open) {
...@@ -1719,7 +1719,7 @@ isdn_tty_hangup(struct tty_struct *tty) ...@@ -1719,7 +1719,7 @@ isdn_tty_hangup(struct tty_struct *tty)
isdn_tty_shutdown(info); isdn_tty_shutdown(info);
info->port.count = 0; info->port.count = 0;
info->port.flags &= ~ASYNC_NORMAL_ACTIVE; info->port.flags &= ~ASYNC_NORMAL_ACTIVE;
info->tty = NULL; info->port.tty = NULL;
wake_up_interruptible(&info->port.open_wait); wake_up_interruptible(&info->port.open_wait);
} }
...@@ -1894,7 +1894,6 @@ isdn_tty_modem_init(void) ...@@ -1894,7 +1894,6 @@ isdn_tty_modem_init(void)
isdn_tty_modem_reset_regs(info, 1); isdn_tty_modem_reset_regs(info, 1);
info->magic = ISDN_ASYNC_MAGIC; info->magic = ISDN_ASYNC_MAGIC;
info->line = i; info->line = i;
info->tty = NULL;
info->x_char = 0; info->x_char = 0;
info->isdn_driver = -1; info->isdn_driver = -1;
info->isdn_channel = -1; info->isdn_channel = -1;
...@@ -2316,7 +2315,7 @@ isdn_tty_at_cout(char *msg, modem_info *info) ...@@ -2316,7 +2315,7 @@ isdn_tty_at_cout(char *msg, modem_info *info)
l = strlen(msg); l = strlen(msg);
spin_lock_irqsave(&info->readlock, flags); spin_lock_irqsave(&info->readlock, flags);
tty = info->tty; tty = info->port.tty;
if ((info->port.flags & ASYNC_CLOSING) || (!tty)) { if ((info->port.flags & ASYNC_CLOSING) || (!tty)) {
spin_unlock_irqrestore(&info->readlock, flags); spin_unlock_irqrestore(&info->readlock, flags);
return; return;
...@@ -2468,12 +2467,12 @@ isdn_tty_modem_result(int code, modem_info *info) ...@@ -2468,12 +2467,12 @@ isdn_tty_modem_result(int code, modem_info *info)
#ifdef ISDN_DEBUG_MODEM_HUP #ifdef ISDN_DEBUG_MODEM_HUP
printk(KERN_DEBUG "modem_result: NO CARRIER %d %d\n", printk(KERN_DEBUG "modem_result: NO CARRIER %d %d\n",
(info->port.flags & ASYNC_CLOSING), (info->port.flags & ASYNC_CLOSING),
(!info->tty)); (!info->port.tty));
#endif #endif
m->mdmreg[REG_RINGCNT] = 0; m->mdmreg[REG_RINGCNT] = 0;
del_timer(&info->nc_timer); del_timer(&info->nc_timer);
info->ncarrier = 0; info->ncarrier = 0;
if ((info->port.flags & ASYNC_CLOSING) || (!info->tty)) if ((info->port.flags & ASYNC_CLOSING) || (!info->port.tty))
return; return;
#ifdef CONFIG_ISDN_AUDIO #ifdef CONFIG_ISDN_AUDIO
...@@ -2606,11 +2605,11 @@ isdn_tty_modem_result(int code, modem_info *info) ...@@ -2606,11 +2605,11 @@ isdn_tty_modem_result(int code, modem_info *info)
} }
} }
if (code == RESULT_NO_CARRIER) { if (code == RESULT_NO_CARRIER) {
if ((info->port.flags & ASYNC_CLOSING) || (!info->tty)) if ((info->port.flags & ASYNC_CLOSING) || (!info->port.tty))
return; return;
if (info->port.flags & ASYNC_CHECK_CD) if (info->port.flags & ASYNC_CHECK_CD)
tty_hangup(info->tty); tty_hangup(info->port.tty);
} }
} }
......
...@@ -479,7 +479,6 @@ typedef struct modem_info { ...@@ -479,7 +479,6 @@ typedef struct modem_info {
struct T30_s *fax; /* T30 Fax Group 3 data/interface */ struct T30_s *fax; /* T30 Fax Group 3 data/interface */
int faxonline; /* Fax-channel status */ int faxonline; /* Fax-channel status */
#endif #endif
struct tty_struct *tty; /* Pointer to corresponding tty */
atemu emu; /* AT-emulator data */ atemu emu; /* AT-emulator data */
spinlock_t readlock; spinlock_t readlock;
} modem_info; } modem_info;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment