serial: imx: reorder functions to simplify next patch
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Thu, 24 Mar 2016 13:24:24 +0000 (14:24 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 30 Apr 2016 16:26:55 +0000 (09:26 -0700)
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/imx.c

index 8ec8127bc3dc8c9dd853e61625ffa2182f55df93..161e9ed768e49e894e2e14a8296371b9ac146efa 100644 (file)
@@ -732,6 +732,55 @@ static void imx_dma_rxint(struct imx_port *sport)
        spin_unlock_irqrestore(&sport->port.lock, flags);
 }
 
+/*
+ * We have a modem side uart, so the meanings of RTS and CTS are inverted.
+ */
+static unsigned int imx_get_hwmctrl(struct imx_port *sport)
+{
+       unsigned int tmp = TIOCM_DSR;
+       unsigned usr1 = readl(sport->port.membase + USR1);
+
+       if (usr1 & USR1_RTSS)
+               tmp |= TIOCM_CTS;
+
+       /* in DCE mode DCDIN is always 0 */
+       if (!(usr1 & USR2_DCDIN))
+               tmp |= TIOCM_CAR;
+
+       if (sport->dte_mode)
+               if (!(readl(sport->port.membase + USR2) & USR2_RIIN))
+                       tmp |= TIOCM_RI;
+
+       return tmp;
+}
+
+/*
+ * 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 = imx_get_hwmctrl(sport);
+       changed = status ^ sport->old_status;
+
+       if (changed == 0)
+               return;
+
+       sport->old_status = status;
+
+       if (changed & TIOCM_RI && status & 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);
+}
+
 static irqreturn_t imx_int(int irq, void *dev_id)
 {
        struct imx_port *sport = dev_id;
@@ -794,28 +843,6 @@ static unsigned int imx_tx_empty(struct uart_port *port)
        return ret;
 }
 
-/*
- * We have a modem side uart, so the meanings of RTS and CTS are inverted.
- */
-static unsigned int imx_get_hwmctrl(struct imx_port *sport)
-{
-       unsigned int tmp = TIOCM_DSR;
-       unsigned usr1 = readl(sport->port.membase + USR1);
-
-       if (usr1 & USR1_RTSS)
-               tmp |= TIOCM_CTS;
-
-       /* in DCE mode DCDIN is always 0 */
-       if (!(usr1 & USR2_DCDIN))
-               tmp |= TIOCM_CAR;
-
-       if (sport->dte_mode)
-               if (!(readl(sport->port.membase + USR2) & USR2_RIIN))
-                       tmp |= TIOCM_RI;
-
-       return tmp;
-}
-
 static unsigned int imx_get_mctrl(struct uart_port *port)
 {
        struct imx_port *sport = (struct imx_port *)port;
@@ -872,33 +899,6 @@ static void imx_break_ctl(struct uart_port *port, int break_state)
        spin_unlock_irqrestore(&sport->port.lock, flags);
 }
 
-/*
- * 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 = imx_get_hwmctrl(sport);
-       changed = status ^ sport->old_status;
-
-       if (changed == 0)
-               return;
-
-       sport->old_status = status;
-
-       if (changed & TIOCM_RI && status & 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);
-}
-
 /*
  * This is our per-port timeout handler, for checking the
  * modem status signals.