|
@@ -1349,7 +1349,7 @@ static void shutdown(MGSLPC_INFO * info, struct tty_struct *tty)
|
|
/* TODO:disable interrupts instead of reset to preserve signal states */
|
|
/* TODO:disable interrupts instead of reset to preserve signal states */
|
|
reset_device(info);
|
|
reset_device(info);
|
|
|
|
|
|
- if (!tty || tty->termios.c_cflag & HUPCL) {
|
|
|
|
|
|
+ if (!tty || C_HUPCL(tty)) {
|
|
info->serial_signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
|
|
info->serial_signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
|
|
set_signals(info);
|
|
set_signals(info);
|
|
}
|
|
}
|
|
@@ -1390,7 +1390,7 @@ static void mgslpc_program_hw(MGSLPC_INFO *info, struct tty_struct *tty)
|
|
port_irq_enable(info, (unsigned char) PVR_DSR | PVR_RI);
|
|
port_irq_enable(info, (unsigned char) PVR_DSR | PVR_RI);
|
|
get_signals(info);
|
|
get_signals(info);
|
|
|
|
|
|
- if (info->netcount || (tty && (tty->termios.c_cflag & CREAD)))
|
|
|
|
|
|
+ if (info->netcount || (tty && C_CREAD(tty)))
|
|
rx_start(info);
|
|
rx_start(info);
|
|
|
|
|
|
spin_unlock_irqrestore(&info->lock, flags);
|
|
spin_unlock_irqrestore(&info->lock, flags);
|
|
@@ -1733,7 +1733,7 @@ static void mgslpc_throttle(struct tty_struct * tty)
|
|
if (I_IXOFF(tty))
|
|
if (I_IXOFF(tty))
|
|
mgslpc_send_xchar(tty, STOP_CHAR(tty));
|
|
mgslpc_send_xchar(tty, STOP_CHAR(tty));
|
|
|
|
|
|
- if (tty->termios.c_cflag & CRTSCTS) {
|
|
|
|
|
|
+ if (C_CRTSCTS(tty)) {
|
|
spin_lock_irqsave(&info->lock, flags);
|
|
spin_lock_irqsave(&info->lock, flags);
|
|
info->serial_signals &= ~SerialSignal_RTS;
|
|
info->serial_signals &= ~SerialSignal_RTS;
|
|
set_signals(info);
|
|
set_signals(info);
|
|
@@ -1762,7 +1762,7 @@ static void mgslpc_unthrottle(struct tty_struct * tty)
|
|
mgslpc_send_xchar(tty, START_CHAR(tty));
|
|
mgslpc_send_xchar(tty, START_CHAR(tty));
|
|
}
|
|
}
|
|
|
|
|
|
- if (tty->termios.c_cflag & CRTSCTS) {
|
|
|
|
|
|
+ if (C_CRTSCTS(tty)) {
|
|
spin_lock_irqsave(&info->lock, flags);
|
|
spin_lock_irqsave(&info->lock, flags);
|
|
info->serial_signals |= SerialSignal_RTS;
|
|
info->serial_signals |= SerialSignal_RTS;
|
|
set_signals(info);
|
|
set_signals(info);
|
|
@@ -2306,8 +2306,7 @@ static void mgslpc_set_termios(struct tty_struct *tty, struct ktermios *old_term
|
|
mgslpc_change_params(info, tty);
|
|
mgslpc_change_params(info, tty);
|
|
|
|
|
|
/* Handle transition to B0 status */
|
|
/* Handle transition to B0 status */
|
|
- if (old_termios->c_cflag & CBAUD &&
|
|
|
|
- !(tty->termios.c_cflag & CBAUD)) {
|
|
|
|
|
|
+ if ((old_termios->c_cflag & CBAUD) && !C_BAUD(tty)) {
|
|
info->serial_signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
|
|
info->serial_signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
|
|
spin_lock_irqsave(&info->lock, flags);
|
|
spin_lock_irqsave(&info->lock, flags);
|
|
set_signals(info);
|
|
set_signals(info);
|
|
@@ -2315,21 +2314,17 @@ static void mgslpc_set_termios(struct tty_struct *tty, struct ktermios *old_term
|
|
}
|
|
}
|
|
|
|
|
|
/* Handle transition away from B0 status */
|
|
/* Handle transition away from B0 status */
|
|
- if (!(old_termios->c_cflag & CBAUD) &&
|
|
|
|
- tty->termios.c_cflag & CBAUD) {
|
|
|
|
|
|
+ if (!(old_termios->c_cflag & CBAUD) && C_BAUD(tty)) {
|
|
info->serial_signals |= SerialSignal_DTR;
|
|
info->serial_signals |= SerialSignal_DTR;
|
|
- if (!(tty->termios.c_cflag & CRTSCTS) ||
|
|
|
|
- !test_bit(TTY_THROTTLED, &tty->flags)) {
|
|
|
|
|
|
+ if (!C_CRTSCTS(tty) || !test_bit(TTY_THROTTLED, &tty->flags))
|
|
info->serial_signals |= SerialSignal_RTS;
|
|
info->serial_signals |= SerialSignal_RTS;
|
|
- }
|
|
|
|
spin_lock_irqsave(&info->lock, flags);
|
|
spin_lock_irqsave(&info->lock, flags);
|
|
set_signals(info);
|
|
set_signals(info);
|
|
spin_unlock_irqrestore(&info->lock, flags);
|
|
spin_unlock_irqrestore(&info->lock, flags);
|
|
}
|
|
}
|
|
|
|
|
|
/* Handle turning off CRTSCTS */
|
|
/* Handle turning off CRTSCTS */
|
|
- if (old_termios->c_cflag & CRTSCTS &&
|
|
|
|
- !(tty->termios.c_cflag & CRTSCTS)) {
|
|
|
|
|
|
+ if (old_termios->c_cflag & CRTSCTS && !C_CRTSCTS(tty)) {
|
|
tty->hw_stopped = 0;
|
|
tty->hw_stopped = 0;
|
|
tx_release(tty);
|
|
tx_release(tty);
|
|
}
|
|
}
|