]> git.karo-electronics.de Git - linux-beck.git/commitdiff
tty: Use termios c_*flag macros
authorPeter Hurley <peter@hurleysoftware.com>
Mon, 11 Jan 2016 04:36:15 +0000 (20:36 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Jan 2016 22:13:44 +0000 (14:13 -0800)
Expressions of the form "tty->termios.c_*flag & FLAG"
are more clearly expressed with the termios flags macros,
I_FLAG(), C_FLAG(), O_FLAG(), and L_FLAG().

Convert treewide.

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Acked-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
28 files changed:
drivers/char/pcmcia/synclink_cs.c
drivers/mmc/card/sdio_uart.c
drivers/staging/dgap/dgap.c
drivers/staging/dgnc/dgnc_tty.c
drivers/tty/amiserial.c
drivers/tty/cyclades.c
drivers/tty/isicom.c
drivers/tty/mxser.c
drivers/tty/n_gsm.c
drivers/tty/pty.c
drivers/tty/rocket.c
drivers/tty/serial/68328serial.c
drivers/tty/serial/crisv10.c
drivers/tty/serial/jsm/jsm_tty.c
drivers/tty/serial/serial_core.c
drivers/tty/synclink.c
drivers/tty/synclink_gt.c
drivers/tty/synclinkmp.c
drivers/tty/tty_ioctl.c
drivers/tty/tty_port.c
drivers/usb/serial/cypress_m8.c
drivers/usb/serial/digi_acceleport.c
drivers/usb/serial/io_edgeport.c
drivers/usb/serial/mct_u232.c
drivers/usb/serial/mos7720.c
drivers/usb/serial/mos7840.c
net/irda/ircomm/ircomm_tty.c
net/irda/ircomm/ircomm_tty_ioctl.c

index 45df4bf914f89fc6ec1fb2398c272f1b6f0444b9..22c27652e46a8dd6851a56edd408e39095eaa4ad 100644 (file)
@@ -1349,7 +1349,7 @@ static void shutdown(MGSLPC_INFO * info, struct tty_struct *tty)
        /* TODO:disable interrupts instead of reset to preserve signal states */
        reset_device(info);
 
-       if (!tty || tty->termios.c_cflag & HUPCL) {
+       if (!tty || C_HUPCL(tty)) {
                info->serial_signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
                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);
        get_signals(info);
 
-       if (info->netcount || (tty && (tty->termios.c_cflag & CREAD)))
+       if (info->netcount || (tty && C_CREAD(tty)))
                rx_start(info);
 
        spin_unlock_irqrestore(&info->lock, flags);
@@ -1733,7 +1733,7 @@ static void mgslpc_throttle(struct tty_struct * tty)
        if (I_IXOFF(tty))
                mgslpc_send_xchar(tty, STOP_CHAR(tty));
 
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                spin_lock_irqsave(&info->lock, flags);
                info->serial_signals &= ~SerialSignal_RTS;
                set_signals(info);
@@ -1762,7 +1762,7 @@ static void mgslpc_unthrottle(struct tty_struct * tty)
                        mgslpc_send_xchar(tty, START_CHAR(tty));
        }
 
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                spin_lock_irqsave(&info->lock, flags);
                info->serial_signals |= SerialSignal_RTS;
                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);
 
        /* 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);
                spin_lock_irqsave(&info->lock, flags);
                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 */
-       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;
-               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;
-               }
                spin_lock_irqsave(&info->lock, flags);
                set_signals(info);
                spin_unlock_irqrestore(&info->lock, flags);
        }
 
        /* 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;
                tx_release(tty);
        }
index d2de5925b73e6d7cb730b6b687e26d04cc0f92bf..5415056f9aa5b109c67a075fa2fd3bfd7a335acf 100644 (file)
@@ -493,7 +493,7 @@ static void sdio_uart_check_modem_status(struct sdio_uart_port *port)
        if (status & UART_MSR_DCTS) {
                port->icount.cts++;
                tty = tty_port_tty_get(&port->port);
-               if (tty && (tty->termios.c_cflag & CRTSCTS)) {
+               if (tty && C_CRTSCTS(tty)) {
                        int cts = (status & UART_MSR_CTS);
                        if (tty->hw_stopped) {
                                if (cts) {
@@ -648,10 +648,10 @@ static int sdio_uart_activate(struct tty_port *tport, struct tty_struct *tty)
 
        sdio_uart_change_speed(port, &tty->termios, NULL);
 
-       if (tty->termios.c_cflag & CBAUD)
+       if (C_BAUD(tty))
                sdio_uart_set_mctrl(port, TIOCM_RTS | TIOCM_DTR);
 
-       if (tty->termios.c_cflag & CRTSCTS)
+       if (C_CRTSCTS(tty))
                if (!(sdio_uart_get_mctrl(port) & TIOCM_CTS))
                        tty->hw_stopped = 1;
 
@@ -833,7 +833,7 @@ static void sdio_uart_throttle(struct tty_struct *tty)
 {
        struct sdio_uart_port *port = tty->driver_data;
 
-       if (!I_IXOFF(tty) && !(tty->termios.c_cflag & CRTSCTS))
+       if (!I_IXOFF(tty) && !C_CRTSCTS(tty))
                return;
 
        if (sdio_uart_claim_func(port) != 0)
@@ -844,7 +844,7 @@ static void sdio_uart_throttle(struct tty_struct *tty)
                sdio_uart_start_tx(port);
        }
 
-       if (tty->termios.c_cflag & CRTSCTS)
+       if (C_CRTSCTS(tty))
                sdio_uart_clear_mctrl(port, TIOCM_RTS);
 
        sdio_uart_irq(port->func);
@@ -855,7 +855,7 @@ static void sdio_uart_unthrottle(struct tty_struct *tty)
 {
        struct sdio_uart_port *port = tty->driver_data;
 
-       if (!I_IXOFF(tty) && !(tty->termios.c_cflag & CRTSCTS))
+       if (!I_IXOFF(tty) && !C_CRTSCTS(tty))
                return;
 
        if (sdio_uart_claim_func(port) != 0)
@@ -870,7 +870,7 @@ static void sdio_uart_unthrottle(struct tty_struct *tty)
                }
        }
 
-       if (tty->termios.c_cflag & CRTSCTS)
+       if (C_CRTSCTS(tty))
                sdio_uart_set_mctrl(port, TIOCM_RTS);
 
        sdio_uart_irq(port->func);
index 5413ed8c29ff4e9c82993e59039fb3a79f9ec401..294c1c83aa4d5b0e414b3d6301f72aefddf45512 100644 (file)
@@ -1530,7 +1530,7 @@ static void dgap_input(struct channel_t *ch)
        if ((bd->state != BOARD_READY) || !tp  ||
            (tp->magic != TTY_MAGIC) ||
            !(ch->ch_tun.un_flags & UN_ISOPEN) ||
-           !(tp->termios.c_cflag & CREAD) ||
+           !C_CREAD(tp) ||
            (ch->ch_tun.un_flags & UN_CLOSING)) {
                writew(head, &bs->rx_tail);
                writeb(1, &bs->idata);
index 4a3d2c6f7eac934175c9a173e68222281825a61e..8b1ba65a6984673dd092c2f3fa08673639e8df2c 100644 (file)
@@ -541,7 +541,7 @@ void dgnc_input(struct channel_t *ch)
         */
        if (!tp || (tp->magic != TTY_MAGIC) ||
            !(ch->ch_tun.un_flags & UN_ISOPEN) ||
-           !(tp->termios.c_cflag & CREAD) ||
+           !C_CREAD(tp) ||
            (ch->ch_tun.un_flags & UN_CLOSING)) {
                ch->ch_r_head = tail;
 
index 6ba5681b6385c3f2a87fac2ef8a0c7683ab69038..eacf4c9f3b299b8f7f92a5cc52a5c347fb0bd541 100644 (file)
@@ -639,7 +639,7 @@ static void shutdown(struct tty_struct *tty, struct serial_state *info)
        custom.adkcon = AC_UARTBRK;
        mb();
 
-       if (tty->termios.c_cflag & HUPCL)
+       if (C_HUPCL(tty))
                info->MCR &= ~(SER_DTR|SER_RTS);
        rtsdtr_ctrl(info->MCR);
 
@@ -974,7 +974,7 @@ static void rs_throttle(struct tty_struct * tty)
        if (I_IXOFF(tty))
                rs_send_xchar(tty, STOP_CHAR(tty));
 
-       if (tty->termios.c_cflag & CRTSCTS)
+       if (C_CRTSCTS(tty))
                info->MCR &= ~SER_RTS;
 
        local_irq_save(flags);
@@ -999,7 +999,7 @@ static void rs_unthrottle(struct tty_struct * tty)
                else
                        rs_send_xchar(tty, START_CHAR(tty));
        }
-       if (tty->termios.c_cflag & CRTSCTS)
+       if (C_CRTSCTS(tty))
                info->MCR |= SER_RTS;
        local_irq_save(flags);
        rtsdtr_ctrl(info->MCR);
@@ -1332,8 +1332,7 @@ static void rs_set_termios(struct tty_struct *tty, struct ktermios *old_termios)
        change_speed(tty, info, old_termios);
 
        /* Handle transition to B0 status */
-       if ((old_termios->c_cflag & CBAUD) &&
-           !(cflag & CBAUD)) {
+       if ((old_termios->c_cflag & CBAUD) && !(cflag & CBAUD)) {
                info->MCR &= ~(SER_DTR|SER_RTS);
                local_irq_save(flags);
                rtsdtr_ctrl(info->MCR);
@@ -1341,21 +1340,17 @@ static void rs_set_termios(struct tty_struct *tty, struct ktermios *old_termios)
        }
 
        /* Handle transition away from B0 status */
-       if (!(old_termios->c_cflag & CBAUD) &&
-           (cflag & CBAUD)) {
+       if (!(old_termios->c_cflag & CBAUD) && (cflag & CBAUD)) {
                info->MCR |= SER_DTR;
-               if (!(tty->termios.c_cflag & CRTSCTS) || 
-                   !test_bit(TTY_THROTTLED, &tty->flags)) {
+               if (!C_CRTSCTS(tty) || !test_bit(TTY_THROTTLED, &tty->flags))
                        info->MCR |= SER_RTS;
-               }
                local_irq_save(flags);
                rtsdtr_ctrl(info->MCR);
                local_irq_restore(flags);
        }
 
        /* 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;
                rs_start(tty);
        }
@@ -1367,8 +1362,7 @@ static void rs_set_termios(struct tty_struct *tty, struct ktermios *old_termios)
         * XXX  It's not clear whether the current behavior is correct
         * or not.  Hence, this may change.....
         */
-       if (!(old_termios->c_cflag & CLOCAL) &&
-           (tty->termios.c_cflag & CLOCAL))
+       if (!(old_termios->c_cflag & CLOCAL) && C_CLOCAL(tty))
                wake_up_interruptible(&info->open_wait);
 #endif
 }
index a48e7e66b970378e875b1f73573e24a4b4c22b14..d67e542bab1cee0a43f9b83342e99fe03e83f8d0 100644 (file)
@@ -1440,7 +1440,7 @@ static void cy_shutdown(struct cyclades_port *info, struct tty_struct *tty)
                        info->port.xmit_buf = NULL;
                        free_page((unsigned long)temp);
                }
-               if (tty->termios.c_cflag & HUPCL)
+               if (C_HUPCL(tty))
                        cyy_change_rts_dtr(info, 0, TIOCM_RTS | TIOCM_DTR);
 
                cyy_issue_cmd(info, CyCHAN_CTL | CyDIS_RCVR);
@@ -1469,7 +1469,7 @@ static void cy_shutdown(struct cyclades_port *info, struct tty_struct *tty)
                        free_page((unsigned long)temp);
                }
 
-               if (tty->termios.c_cflag & HUPCL)
+               if (C_HUPCL(tty))
                        tty_port_lower_dtr_rts(&info->port);
 
                set_bit(TTY_IO_ERROR, &tty->flags);
@@ -2795,8 +2795,7 @@ static void cy_set_termios(struct tty_struct *tty, struct ktermios *old_termios)
 
        cy_set_line_char(info, tty);
 
-       if ((old_termios->c_cflag & CRTSCTS) &&
-                       !(tty->termios.c_cflag & CRTSCTS)) {
+       if ((old_termios->c_cflag & CRTSCTS) && !C_CRTSCTS(tty)) {
                tty->hw_stopped = 0;
                cy_start(tty);
        }
@@ -2807,8 +2806,7 @@ static void cy_set_termios(struct tty_struct *tty, struct ktermios *old_termios)
         * XXX  It's not clear whether the current behavior is correct
         * or not.  Hence, this may change.....
         */
-       if (!(old_termios->c_cflag & CLOCAL) &&
-           (tty->termios.c_cflag & CLOCAL))
+       if (!(old_termios->c_cflag & CLOCAL) && C_CLOCAL(tty))
                wake_up_interruptible(&info->port.open_wait);
 #endif
 }                              /* cy_set_termios */
@@ -2868,7 +2866,7 @@ static void cy_throttle(struct tty_struct *tty)
                        info->throttle = 1;
        }
 
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                if (!cy_is_Z(card)) {
                        spin_lock_irqsave(&card->card_lock, flags);
                        cyy_change_rts_dtr(info, 0, TIOCM_RTS);
@@ -2905,7 +2903,7 @@ static void cy_unthrottle(struct tty_struct *tty)
                        cy_send_xchar(tty, START_CHAR(tty));
        }
 
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                card = info->card;
                if (!cy_is_Z(card)) {
                        spin_lock_irqsave(&card->card_lock, flags);
index 99875949bfb77fc1a2bbf628594e55599dd226a0..8bf67630018b8292e5f265f58f217121bbe64df4 100644 (file)
@@ -1204,8 +1204,7 @@ static void isicom_set_termios(struct tty_struct *tty,
        isicom_config_port(tty);
        spin_unlock_irqrestore(&port->card->card_lock, flags);
 
-       if ((old_termios->c_cflag & CRTSCTS) &&
-                       !(tty->termios.c_cflag & CRTSCTS)) {
+       if ((old_termios->c_cflag & CRTSCTS) && !C_CRTSCTS(tty)) {
                tty->hw_stopped = 0;
                isicom_start(tty);
        }
index 4c4a236745692ab1ee2e674f5d7dbf0334002dae..e9600cece8daebddbac72f8cafcb55821466e791 100644 (file)
@@ -1864,7 +1864,7 @@ static void mxser_stoprx(struct tty_struct *tty)
                }
        }
 
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                info->MCR &= ~UART_MCR_RTS;
                outb(info->MCR, info->ioaddr + UART_MCR);
        }
@@ -1901,7 +1901,7 @@ static void mxser_unthrottle(struct tty_struct *tty)
                }
        }
 
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                info->MCR |= UART_MCR_RTS;
                outb(info->MCR, info->ioaddr + UART_MCR);
        }
@@ -1949,15 +1949,13 @@ static void mxser_set_termios(struct tty_struct *tty, struct ktermios *old_termi
        mxser_change_speed(tty, old_termios);
        spin_unlock_irqrestore(&info->slock, flags);
 
-       if ((old_termios->c_cflag & CRTSCTS) &&
-                       !(tty->termios.c_cflag & CRTSCTS)) {
+       if ((old_termios->c_cflag & CRTSCTS) && !C_CRTSCTS(tty)) {
                tty->hw_stopped = 0;
                mxser_start(tty);
        }
 
        /* Handle sw stopped */
-       if ((old_termios->c_iflag & IXON) &&
-                       !(tty->termios.c_iflag & IXON)) {
+       if ((old_termios->c_iflag & IXON) && !I_IXON(tty)) {
                tty->stopped = 0;
 
                if (info->board->chip_flag) {
index e3cc277493447e558110235d02a927d6b2eb3844..c01620780f5baf503ee6c46eef9714ef9ac2bae4 100644 (file)
@@ -1066,7 +1066,7 @@ static void gsm_process_modem(struct tty_struct *tty, struct gsm_dlci *dlci,
        /* Carrier drop -> hangup */
        if (tty) {
                if ((mlines & TIOCM_CD) == 0 && (dlci->modem_rx & TIOCM_CD))
-                       if (!(tty->termios.c_cflag & CLOCAL))
+                       if (!C_CLOCAL(tty))
                                tty_hangup(tty);
        }
        if (brk & 0x01)
@@ -3116,7 +3116,7 @@ static void gsmtty_throttle(struct tty_struct *tty)
        struct gsm_dlci *dlci = tty->driver_data;
        if (dlci->state == DLCI_CLOSED)
                return;
-       if (tty->termios.c_cflag & CRTSCTS)
+       if (C_CRTSCTS(tty))
                dlci->modem_tx &= ~TIOCM_DTR;
        dlci->throttled = 1;
        /* Send an MSC with DTR cleared */
@@ -3128,7 +3128,7 @@ static void gsmtty_unthrottle(struct tty_struct *tty)
        struct gsm_dlci *dlci = tty->driver_data;
        if (dlci->state == DLCI_CLOSED)
                return;
-       if (tty->termios.c_cflag & CRTSCTS)
+       if (C_CRTSCTS(tty))
                dlci->modem_tx |= TIOCM_DTR;
        dlci->throttled = 0;
        /* Send an MSC with DTR set */
index be5020d567aea1a87073820e1b0853b154c8ab9d..78170e7aa3a31acd8c2bb1592bb2064775215b8b 100644 (file)
@@ -263,8 +263,7 @@ static void pty_set_termios(struct tty_struct *tty,
 {
        /* See if packet mode change of state. */
        if (tty->link && tty->link->packet) {
-               int extproc = (old_termios->c_lflag & EXTPROC) |
-                               (tty->termios.c_lflag & EXTPROC);
+               int extproc = (old_termios->c_lflag & EXTPROC) | L_EXTPROC(tty);
                int old_flow = ((old_termios->c_iflag & IXON) &&
                                (old_termios->c_cc[VSTOP] == '\023') &&
                                (old_termios->c_cc[VSTART] == '\021'));
index 9dd02daf45ca89174af168f0677e93df229f37e7..2ab3b6fdb67530613b34a10e02c77dda343d00ac 100644 (file)
@@ -959,7 +959,7 @@ static int rp_open(struct tty_struct *tty, struct file *filp)
                        tty->alt_speed = 460800;
 
                configure_r_port(tty, info, NULL);
-               if (tty->termios.c_cflag & CBAUD) {
+               if (C_BAUD(tty)) {
                        sSetDTR(cp);
                        sSetRTS(cp);
                }
@@ -1084,18 +1084,18 @@ static void rp_set_termios(struct tty_struct *tty,
        cp = &info->channel;
 
        /* 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)) {
                sClrDTR(cp);
                sClrRTS(cp);
        }
 
        /* 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)) {
                sSetRTS(cp);
                sSetDTR(cp);
        }
 
-       if ((old_termios->c_cflag & CRTSCTS) && !(tty->termios.c_cflag & CRTSCTS))
+       if ((old_termios->c_cflag & CRTSCTS) && !C_CRTSCTS(tty))
                rp_start(tty);
 }
 
index 90639b590a10216e76b618e5da27d233eb34e09a..4931212e5cf6ca90370bf90ce1721a42a5e32846 100644 (file)
@@ -976,10 +976,8 @@ static void rs_set_termios(struct tty_struct *tty, struct ktermios *old_termios)
 
        change_speed(info, tty);
 
-       if ((old_termios->c_cflag & CRTSCTS) &&
-           !(tty->termios.c_cflag & CRTSCTS))
+       if ((old_termios->c_cflag & CRTSCTS) && !C_CRTSCTS(tty))
                rs_start(tty);
-       
 }
 
 /*
index e98aef7970657c9060c3f57f0e02f1035666d2ea..37f10c4a3faf6d6e147d5df5be8712042cec18a4 100644 (file)
@@ -1413,9 +1413,8 @@ rs_stop(struct tty_struct *tty)
                xoff = IO_FIELD(R_SERIAL0_XOFF, xoff_char,
                                STOP_CHAR(info->port.tty));
                xoff |= IO_STATE(R_SERIAL0_XOFF, tx_stop, stop);
-               if (tty->termios.c_iflag & IXON ) {
+               if (I_IXON(tty))
                        xoff |= IO_STATE(R_SERIAL0_XOFF, auto_xoff, enable);
-               }
 
                *((unsigned long *)&info->ioport[REG_XOFF]) = xoff;
                local_irq_restore(flags);
@@ -1436,9 +1435,8 @@ rs_start(struct tty_struct *tty)
                                         info->xmit.tail,SERIAL_XMIT_SIZE)));
                xoff = IO_FIELD(R_SERIAL0_XOFF, xoff_char, STOP_CHAR(tty));
                xoff |= IO_STATE(R_SERIAL0_XOFF, tx_stop, enable);
-               if (tty->termios.c_iflag & IXON ) {
+               if (I_IXON(tty))
                        xoff |= IO_STATE(R_SERIAL0_XOFF, auto_xoff, enable);
-               }
 
                *((unsigned long *)&info->ioport[REG_XOFF]) = xoff;
                if (!info->uses_dma_out &&
@@ -3166,7 +3164,7 @@ rs_throttle(struct tty_struct * tty)
        DFLOW(DEBUG_LOG(info->line,"rs_throttle\n"));
 
        /* Do RTS before XOFF since XOFF might take some time */
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                /* Turn off RTS line */
                e100_rts(info, 0);
        }
@@ -3185,7 +3183,7 @@ rs_unthrottle(struct tty_struct * tty)
        DFLOW(DEBUG_LOG(info->line,"rs_unthrottle ldisc\n"));
        DFLOW(DEBUG_LOG(info->line,"rs_unthrottle flip.count: %i\n", tty->flip.count));
        /* Do RTS before XOFF since XOFF might take some time */
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                /* Assert RTS line  */
                e100_rts(info, 1);
        }
@@ -3553,8 +3551,7 @@ rs_set_termios(struct tty_struct *tty, struct ktermios *old_termios)
        change_speed(info);
 
        /* Handle turning off CRTSCTS */
-       if ((old_termios->c_cflag & CRTSCTS) &&
-           !(tty->termios.c_cflag & CRTSCTS))
+       if ((old_termios->c_cflag & CRTSCTS) && !C_CRTSCTS(tty))
                rs_start(tty);
 
 }
@@ -3765,9 +3762,8 @@ block_til_ready(struct tty_struct *tty, struct file * filp,
                return 0;
        }
 
-       if (tty->termios.c_cflag & CLOCAL) {
-                       do_clocal = 1;
-       }
+       if (C_CLOCAL(tty))
+               do_clocal = 1;
 
        /*
         * Block waiting for the carrier detect and the line to become
index 524e86ab3cae7af5b43811c6679e344c4da78054..00cac10ae75a878a11f9004e4235fb18b4984a80 100644 (file)
@@ -569,8 +569,7 @@ void jsm_input(struct jsm_channel *ch)
         *If the device is not open, or CREAD is off, flush
         *input data and return immediately.
         */
-       if (!tp ||
-               !(tp->termios.c_cflag & CREAD) ) {
+       if (!tp || !C_CREAD(tp)) {
 
                jsm_dbg(READ, &ch->ch_bd->pci_dev,
                        "input. dropping %d bytes on port %d...\n",
index b1f54ab1818c4ee0982bab49559940cd61b80435..1efdc2b476ea9895f5429cf2b7966b6ee461ef32 100644 (file)
@@ -171,14 +171,12 @@ static int uart_port_startup(struct tty_struct *tty, struct uart_state *state,
                 */
                uart_change_speed(tty, state, NULL);
 
-               if (init_hw) {
-                       /*
-                        * Setup the RTS and DTR signals once the
-                        * port is open and ready to respond.
-                        */
-                       if (tty->termios.c_cflag & CBAUD)
-                               uart_set_mctrl(uport, TIOCM_RTS | TIOCM_DTR);
-               }
+               /*
+                * Setup the RTS and DTR signals once the
+                * port is open and ready to respond.
+                */
+               if (init_hw && C_BAUD(tty))
+                       uart_set_mctrl(uport, TIOCM_RTS | TIOCM_DTR);
        }
 
        /*
@@ -240,7 +238,7 @@ static void uart_shutdown(struct tty_struct *tty, struct uart_state *state)
                if (uart_console(uport) && tty)
                        uport->cons->cflag = tty->termios.c_cflag;
 
-               if (!tty || (tty->termios.c_cflag & HUPCL))
+               if (!tty || C_HUPCL(tty))
                        uart_clear_mctrl(uport, TIOCM_DTR | TIOCM_RTS);
 
                uart_port_shutdown(port);
@@ -639,7 +637,7 @@ static void uart_throttle(struct tty_struct *tty)
 
        if (I_IXOFF(tty))
                mask |= UPSTAT_AUTOXOFF;
-       if (tty->termios.c_cflag & CRTSCTS)
+       if (C_CRTSCTS(tty))
                mask |= UPSTAT_AUTORTS;
 
        if (port->status & mask) {
@@ -662,7 +660,7 @@ static void uart_unthrottle(struct tty_struct *tty)
 
        if (I_IXOFF(tty))
                mask |= UPSTAT_AUTOXOFF;
-       if (tty->termios.c_cflag & CRTSCTS)
+       if (C_CRTSCTS(tty))
                mask |= UPSTAT_AUTORTS;
 
        if (port->status & mask) {
index 6188059fd523991c4a5072c0b8350f4d31b00dfd..f5476e270734b24a030a2b20db04628209a25994 100644 (file)
@@ -2363,7 +2363,7 @@ static void mgsl_throttle(struct tty_struct * tty)
        if (I_IXOFF(tty))
                mgsl_send_xchar(tty, STOP_CHAR(tty));
 
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                spin_lock_irqsave(&info->irq_spinlock,flags);
                info->serial_signals &= ~SerialSignal_RTS;
                usc_set_serial_signals(info);
@@ -2397,7 +2397,7 @@ static void mgsl_unthrottle(struct tty_struct * tty)
                        mgsl_send_xchar(tty, START_CHAR(tty));
        }
 
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                spin_lock_irqsave(&info->irq_spinlock,flags);
                info->serial_signals |= SerialSignal_RTS;
                usc_set_serial_signals(info);
@@ -3039,30 +3039,25 @@ static void mgsl_set_termios(struct tty_struct *tty, struct ktermios *old_termio
        mgsl_change_params(info);
 
        /* 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);
                spin_lock_irqsave(&info->irq_spinlock,flags);
                usc_set_serial_signals(info);
                spin_unlock_irqrestore(&info->irq_spinlock,flags);
        }
-       
+
        /* 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;
-               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;
-               }
                spin_lock_irqsave(&info->irq_spinlock,flags);
                usc_set_serial_signals(info);
                spin_unlock_irqrestore(&info->irq_spinlock,flags);
        }
-       
+
        /* 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;
                mgsl_start(tty);
        }
@@ -3281,7 +3276,7 @@ static int block_til_ready(struct tty_struct *tty, struct file * filp,
                return 0;
        }
 
-       if (tty->termios.c_cflag & CLOCAL)
+       if (C_CLOCAL(tty))
                do_clocal = true;
 
        /* Wait for carrier detect and the line to become
index 5505ea84217934fff36e56f720844ba72c175fdc..c0a2f5a1b1c2d08b0534df5138b12d813f420602 100644 (file)
@@ -774,8 +774,7 @@ static void set_termios(struct tty_struct *tty, struct ktermios *old_termios)
        change_params(info);
 
        /* 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->signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
                spin_lock_irqsave(&info->lock,flags);
                set_signals(info);
@@ -783,21 +782,17 @@ static void set_termios(struct tty_struct *tty, struct ktermios *old_termios)
        }
 
        /* 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->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->signals |= SerialSignal_RTS;
-               }
                spin_lock_irqsave(&info->lock,flags);
                set_signals(info);
                spin_unlock_irqrestore(&info->lock,flags);
        }
 
        /* 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;
                tx_release(tty);
        }
@@ -1362,7 +1357,7 @@ static void throttle(struct tty_struct * tty)
        DBGINFO(("%s throttle\n", info->device_name));
        if (I_IXOFF(tty))
                send_xchar(tty, STOP_CHAR(tty));
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                spin_lock_irqsave(&info->lock,flags);
                info->signals &= ~SerialSignal_RTS;
                set_signals(info);
@@ -1387,7 +1382,7 @@ static void unthrottle(struct tty_struct * tty)
                else
                        send_xchar(tty, START_CHAR(tty));
        }
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                spin_lock_irqsave(&info->lock,flags);
                info->signals |= SerialSignal_RTS;
                set_signals(info);
@@ -3280,7 +3275,7 @@ static int block_til_ready(struct tty_struct *tty, struct file *filp,
                return 0;
        }
 
-       if (tty->termios.c_cflag & CLOCAL)
+       if (C_CLOCAL(tty))
                do_clocal = true;
 
        /* Wait for carrier detect and the line to become
index fb00a06dfa4bba12e41f4dd42bd38e2c95d16ee4..4b314b63a2ed91442685619445c809b99b4d6e27 100644 (file)
@@ -871,8 +871,7 @@ static void set_termios(struct tty_struct *tty, struct ktermios *old_termios)
        change_params(info);
 
        /* 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);
                spin_lock_irqsave(&info->lock,flags);
                set_signals(info);
@@ -880,21 +879,17 @@ static void set_termios(struct tty_struct *tty, struct ktermios *old_termios)
        }
 
        /* 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;
-               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;
-               }
                spin_lock_irqsave(&info->lock,flags);
                set_signals(info);
                spin_unlock_irqrestore(&info->lock,flags);
        }
 
        /* 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;
                tx_release(tty);
        }
@@ -1472,7 +1467,7 @@ static void throttle(struct tty_struct * tty)
        if (I_IXOFF(tty))
                send_xchar(tty, STOP_CHAR(tty));
 
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                spin_lock_irqsave(&info->lock,flags);
                info->serial_signals &= ~SerialSignal_RTS;
                set_signals(info);
@@ -1501,7 +1496,7 @@ static void unthrottle(struct tty_struct * tty)
                        send_xchar(tty, START_CHAR(tty));
        }
 
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                spin_lock_irqsave(&info->lock,flags);
                info->serial_signals |= SerialSignal_RTS;
                set_signals(info);
@@ -3297,7 +3292,7 @@ static int block_til_ready(struct tty_struct *tty, struct file *filp,
                return 0;
        }
 
-       if (tty->termios.c_cflag & CLOCAL)
+       if (C_CLOCAL(tty))
                do_clocal = true;
 
        /* Wait for carrier detect and the line to become
index 0ea351388724aeae75b70d22433b3d56736d1828..23bf5bb1d8bf74d01ea0a29b5ddb1e095e1855db 100644 (file)
@@ -719,16 +719,16 @@ static int get_sgflags(struct tty_struct *tty)
 {
        int flags = 0;
 
-       if (!(tty->termios.c_lflag & ICANON)) {
-               if (tty->termios.c_lflag & ISIG)
+       if (!L_ICANON(tty)) {
+               if (L_ISIG(tty))
                        flags |= 0x02;          /* cbreak */
                else
                        flags |= 0x20;          /* raw */
        }
-       if (tty->termios.c_lflag & ECHO)
+       if (L_ECHO(tty))
                flags |= 0x08;                  /* echo */
-       if (tty->termios.c_oflag & OPOST)
-               if (tty->termios.c_oflag & ONLCR)
+       if (O_OPOST(tty))
+               if (O_ONLCR(tty))
                        flags |= 0x10;          /* crmod */
        return flags;
 }
@@ -908,7 +908,7 @@ static int tty_change_softcar(struct tty_struct *tty, int arg)
        tty->termios.c_cflag |= bit;
        if (tty->ops->set_termios)
                tty->ops->set_termios(tty, &old);
-       if ((tty->termios.c_cflag & CLOCAL) != bit)
+       if (C_CLOCAL(tty) != bit)
                ret = -EINVAL;
        up_write(&tty->termios_rwsem);
        return ret;
index a76aec2ca480aae5274fa9aba04c9ac565dfb3b7..0473fc7543f746817843859db11fcecc6b9debf7 100644 (file)
@@ -370,7 +370,7 @@ int tty_port_block_til_ready(struct tty_port *port,
        }
        if (filp->f_flags & O_NONBLOCK) {
                /* Indicate we are open */
-               if (tty->termios.c_cflag & CBAUD)
+               if (C_BAUD(tty))
                        tty_port_raise_dtr_rts(port);
                port->flags |= ASYNC_NORMAL_ACTIVE;
                return 0;
index 01bf533928192d6f2f4b77f44995bd63fd6d1be2..b283eb8b86d68f5b53c336ee70bc8a6cd609adce 100644 (file)
@@ -1165,8 +1165,7 @@ static void cypress_read_int_callback(struct urb *urb)
 
        /* hangup, as defined in acm.c... this might be a bad place for it
         * though */
-       if (tty && !(tty->termios.c_cflag & CLOCAL) &&
-                       !(priv->current_status & UART_CD)) {
+       if (tty && !C_CLOCAL(tty) && !(priv->current_status & UART_CD)) {
                dev_dbg(dev, "%s - calling hangup\n", __func__);
                tty_hangup(tty);
                goto continue_read;
index 12b0e67473ba2509193bf06048b4c0ff627430d5..010a42a92688954d7b65a82472d28fad346c80c3 100644 (file)
@@ -695,11 +695,11 @@ static void digi_set_termios(struct tty_struct *tty,
                arg = -1;
 
                /* reassert DTR and (maybe) RTS on transition from B0 */
-               if ((old_cflag&CBAUD) == B0) {
+               if ((old_cflag & CBAUD) == B0) {
                        /* don't set RTS if using hardware flow control */
                        /* and throttling input */
                        modem_signals = TIOCM_DTR;
-                       if (!(tty->termios.c_cflag & CRTSCTS) ||
+                       if (!C_CRTSCTS(tty) ||
                            !test_bit(TTY_THROTTLED, &tty->flags))
                                modem_signals |= TIOCM_RTS;
                        digi_set_modem_signals(port, modem_signals, 1);
@@ -1491,8 +1491,8 @@ static int digi_read_oob_callback(struct urb *urb)
 
                rts = 0;
                if (tty)
-                       rts = tty->termios.c_cflag & CRTSCTS;
-               
+                       rts = C_CRTSCTS(tty);
+
                if (tty && opcode == DIGI_CMD_READ_INPUT_SIGNALS) {
                        spin_lock(&priv->dp_port_lock);
                        /* convert from digi flags to termiox flags */
index f49327d20ee820a55a338da89146887b4ec4ac0e..f3007ecdd1b47b1d438ecde4fdcd15be47dc714a 100644 (file)
@@ -1398,7 +1398,7 @@ static void edge_throttle(struct tty_struct *tty)
        }
 
        /* if we are implementing RTS/CTS, toggle that line */
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                edge_port->shadowMCR &= ~MCR_RTS;
                status = send_cmd_write_uart_register(edge_port, MCR,
                                                        edge_port->shadowMCR);
@@ -1435,7 +1435,7 @@ static void edge_unthrottle(struct tty_struct *tty)
                        return;
        }
        /* if we are implementing RTS/CTS, toggle that line */
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                edge_port->shadowMCR |= MCR_RTS;
                send_cmd_write_uart_register(edge_port, MCR,
                                                edge_port->shadowMCR);
index fd707d6a10e26359f4f96502e0bcbb1f1c79bbe1..4446b8d70ac203cc8b763c38b6b93903cd1a0cb8 100644 (file)
@@ -428,7 +428,7 @@ static int  mct_u232_open(struct tty_struct *tty, struct usb_serial_port *port)
         * either.
         */
        spin_lock_irqsave(&priv->lock, flags);
-       if (tty && (tty->termios.c_cflag & CBAUD))
+       if (tty && C_BAUD(tty))
                priv->control_state = TIOCM_DTR | TIOCM_RTS;
        else
                priv->control_state = 0;
index 78b4f64c6b00e457cef0bc65ed636a3e9fa8db42..2eddbe538cda14d073a15bdaa5f5ad4a13eeb560 100644 (file)
@@ -1308,7 +1308,7 @@ static void mos7720_throttle(struct tty_struct *tty)
        }
 
        /* if we are implementing RTS/CTS, toggle that line */
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                mos7720_port->shadowMCR &= ~UART_MCR_RTS;
                write_mos_reg(port->serial, port->port_number, MOS7720_MCR,
                              mos7720_port->shadowMCR);
@@ -1338,7 +1338,7 @@ static void mos7720_unthrottle(struct tty_struct *tty)
        }
 
        /* if we are implementing RTS/CTS, toggle that line */
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                mos7720_port->shadowMCR |= UART_MCR_RTS;
                write_mos_reg(port->serial, port->port_number, MOS7720_MCR,
                              mos7720_port->shadowMCR);
index 2c69bfcdacc64e005ce294ccedb2d3ebf7d02a26..02ea975754f52da75f4f570c497cb952bb9d473a 100644 (file)
@@ -1425,7 +1425,7 @@ static void mos7840_throttle(struct tty_struct *tty)
                        return;
        }
        /* if we are implementing RTS/CTS, toggle that line */
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                mos7840_port->shadowMCR &= ~MCR_RTS;
                status = mos7840_set_uart_reg(port, MODEM_CONTROL_REGISTER,
                                         mos7840_port->shadowMCR);
@@ -1466,7 +1466,7 @@ static void mos7840_unthrottle(struct tty_struct *tty)
        }
 
        /* if we are implementing RTS/CTS, toggle that line */
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                mos7840_port->shadowMCR |= MCR_RTS;
                status = mos7840_set_uart_reg(port, MODEM_CONTROL_REGISTER,
                                         mos7840_port->shadowMCR);
index a4237707f79d56097099c2fe8704d686670cc9fe..1776fe5715e53855fa245e82d4a3d04526efbeee 100644 (file)
@@ -287,14 +287,14 @@ static int ircomm_tty_block_til_ready(struct ircomm_tty_cb *self,
 
        if (filp->f_flags & O_NONBLOCK) {
                /* nonblock mode is set */
-               if (tty->termios.c_cflag & CBAUD)
+               if (C_BAUD(tty))
                        tty_port_raise_dtr_rts(port);
                port->flags |= ASYNC_NORMAL_ACTIVE;
                pr_debug("%s(), O_NONBLOCK requested!\n", __func__);
                return 0;
        }
 
-       if (tty->termios.c_cflag & CLOCAL) {
+       if (C_CLOCAL(tty)) {
                pr_debug("%s(), doing CLOCAL!\n", __func__);
                do_clocal = 1;
        }
@@ -806,7 +806,7 @@ static void ircomm_tty_throttle(struct tty_struct *tty)
                ircomm_tty_send_xchar(tty, STOP_CHAR(tty));
 
        /* Hardware flow control? */
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                self->settings.dte &= ~IRCOMM_RTS;
                self->settings.dte |= IRCOMM_DELTA_RTS;
 
@@ -831,12 +831,11 @@ static void ircomm_tty_unthrottle(struct tty_struct *tty)
        IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
 
        /* Using software flow control? */
-       if (I_IXOFF(tty)) {
+       if (I_IXOFF(tty))
                ircomm_tty_send_xchar(tty, START_CHAR(tty));
-       }
 
        /* Using hardware flow control? */
-       if (tty->termios.c_cflag & CRTSCTS) {
+       if (C_CRTSCTS(tty)) {
                self->settings.dte |= (IRCOMM_RTS|IRCOMM_DELTA_RTS);
 
                ircomm_param_request(self, IRCOMM_DTE, TRUE);
index 75ccdbd0728e18a9f4892504f2814e8e918b8097..d3687aaa23de08a856021a6a7d92930197dda05e 100644 (file)
@@ -158,26 +158,21 @@ void ircomm_tty_set_termios(struct tty_struct *tty,
        ircomm_tty_change_speed(self, tty);
 
        /* Handle transition to B0 status */
-       if ((old_termios->c_cflag & CBAUD) &&
-           !(cflag & CBAUD)) {
+       if ((old_termios->c_cflag & CBAUD) && !(cflag & CBAUD)) {
                self->settings.dte &= ~(IRCOMM_DTR|IRCOMM_RTS);
                ircomm_param_request(self, IRCOMM_DTE, TRUE);
        }
 
        /* Handle transition away from B0 status */
-       if (!(old_termios->c_cflag & CBAUD) &&
-           (cflag & CBAUD)) {
+       if (!(old_termios->c_cflag & CBAUD) && (cflag & CBAUD)) {
                self->settings.dte |= IRCOMM_DTR;
-               if (!(tty->termios.c_cflag & CRTSCTS) ||
-                   !test_bit(TTY_THROTTLED, &tty->flags)) {
+               if (!C_CRTSCTS(tty) || !test_bit(TTY_THROTTLED, &tty->flags))
                        self->settings.dte |= IRCOMM_RTS;
-               }
                ircomm_param_request(self, IRCOMM_DTE, TRUE);
        }
 
        /* 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;
                ircomm_tty_start(tty);