mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 20:22:09 +00:00
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>
This commit is contained in:
parent
06cc52ef82
commit
5d1ea1ad28
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user