diff options
author | Jiri Slaby <jslaby@suse.cz> | 2021-06-18 08:15:12 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-06-18 13:10:03 +0200 |
commit | 5d1ea1ad288fc9e76acb5ec8af1bc16bb799c14f (patch) | |
tree | b5748e7e19bfa5a643cfc2433d236f3fd06471b1 /drivers/tty/mxser.c | |
parent | 06cc52ef8284fa8c95552e6ad0da93d89774eb7f (diff) |
mxser: introduce mxser_16550A_or_MUST helper
This check is used in the code on many places. Either in positive or
negative form. So introduce a helper called mxser_16550A_or_MUST for
this purpose. And replace all the occurrences.
This simplifies many ifs in there.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20210618061516.662-67-jslaby@suse.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/mxser.c')
-rw-r--r-- | drivers/tty/mxser.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/drivers/tty/mxser.c b/drivers/tty/mxser.c index f238d17d6fdf..900ccb2ca166 100644 --- a/drivers/tty/mxser.c +++ b/drivers/tty/mxser.c @@ -398,6 +398,11 @@ static enum mxser_must_hwid mxser_must_get_hwid(unsigned long io) return MOXA_OTHER_UART; } +static bool mxser_16550A_or_MUST(struct mxser_port *info) +{ + return info->type == PORT_16550A || info->board->must_hwid; +} + static void mxser_process_txrx_fifo(struct mxser_port *info) { unsigned int i; @@ -537,8 +542,7 @@ static void mxser_handle_cts(struct tty_struct *tty, struct mxser_port *info, if (cts) { tty->hw_stopped = 0; - if (info->type != PORT_16550A && - !info->board->must_hwid) + if (!mxser_16550A_or_MUST(info)) __mxser_start_tx(info); tty_wakeup(tty); } @@ -547,7 +551,7 @@ static void mxser_handle_cts(struct tty_struct *tty, struct mxser_port *info, return; tty->hw_stopped = 1; - if (info->type != PORT_16550A && !info->board->must_hwid) + if (!mxser_16550A_or_MUST(info)) __mxser_stop_tx(info); } @@ -626,7 +630,7 @@ static void mxser_change_speed(struct tty_struct *tty) tty_port_set_cts_flow(&info->port, cflag & CRTSCTS); if (cflag & CRTSCTS) { info->IER |= UART_IER_MSI; - if ((info->type == PORT_16550A) || (info->board->must_hwid)) { + if (mxser_16550A_or_MUST(info)) { info->MCR |= UART_MCR_AFE; } else { mxser_handle_cts(tty, info, @@ -962,11 +966,10 @@ static int mxser_write(struct tty_struct *tty, const unsigned char *buf, int cou total += c; } - if (info->xmit_cnt && !tty->flow.stopped) { - if (!tty->hw_stopped || info->type == PORT_16550A || - info->board->must_hwid) + if (info->xmit_cnt && !tty->flow.stopped) + if (!tty->hw_stopped || mxser_16550A_or_MUST(info)) mxser_start_tx(info); - } + return total; } @@ -996,8 +999,7 @@ static void mxser_flush_chars(struct tty_struct *tty) struct mxser_port *info = tty->driver_data; if (!info->xmit_cnt || tty->flow.stopped || !info->port.xmit_buf || - (tty->hw_stopped && info->type != PORT_16550A && - !info->board->must_hwid)) + (tty->hw_stopped && !mxser_16550A_or_MUST(info))) return; mxser_start_tx(info); @@ -1655,9 +1657,7 @@ static void mxser_transmit_chars(struct tty_struct *tty, struct mxser_port *port return; if (!port->xmit_cnt || tty->flow.stopped || - (tty->hw_stopped && - (port->type != PORT_16550A) && - (!port->board->must_hwid))) { + (tty->hw_stopped && !mxser_16550A_or_MUST(port))) { __mxser_stop_tx(port); return; } |