Commit 5d1ea1ad authored by Jiri Slaby's avatar Jiri Slaby Committed by Greg Kroah-Hartman
Browse files

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: default avatarJiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20210618061516.662-67-jslaby@suse.cz


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 06cc52ef
Loading
Loading
Loading
Loading
+13 −13
Original line number Diff line number Diff line
@@ -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;
	}