/* Handle any change of modem status signal since we were last called.  */
static void imx_mctrl_check(struct imx_port *sport)
/* Handle any change of modem status signal since we were last called.  */
static void imx_mctrl_check(struct imx_port *sport)
{
	unsigned int status, changed;
	status = sport->port.ops->get_mctrl(&sport->port);
	changed = status ^ sport->old_status;
	if (changed == 0)
		return;
	sport->old_status = status;
	if (changed & TIOCM_RI)
		sport->port.icount.rng++;
	if (changed & TIOCM_DSR)
		sport->port.icount.dsr++;
	if (changed & TIOCM_CAR)
		uart_handle_dcd_change(&sport->port, status & TIOCM_CAR);
	if (changed & TIOCM_CTS)
		uart_handle_cts_change(&sport->port, status & TIOCM_CTS);
	wake_up_interruptible(&sport->port.state->port.delta_msr_wait);
}