Thread (12 messages) 12 messages, 4 authors, 2012-08-28
STALE5027d

[PATCH 2/2] tty: serial: imx: don't reinit clock with enabled console

From: Troy Kisky <hidden>
Date: 2012-08-27 18:20:10
Also in: linux-serial

On 8/27/2012 12:36 AM, Dirk Behme wrote:
quoted hunk ↗ jump to hunk
From: Xinyu Chen <redacted>

Remove the imx_setup_ufcr() call on startup when CONSOLE enabled,
as this will cause clock reinit, and output garbage.

This patch is a port from Freescale's Android kernel.

Signed-off-by: Xinyu Chen <redacted>
Tested-by: Dirk Behme <redacted>
CC: Shawn Guo <redacted>
CC: Sascha Hauer <s.hauer@pengutronix.de>
---
  drivers/tty/serial/imx.c |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 908178f..31ce414 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -695,7 +695,9 @@ static int imx_startup(struct uart_port *port)
  	int retval;
  	unsigned long flags, temp;
  
+#ifndef CONFIG_SERIAL_CORE_CONSOLE
  	imx_setup_ufcr(sport, 0);
+#endif
  
  	/* disable the DREN bit (Data Ready interrupt enable) before
  	 * requesting IRQs

I'd rather do something like this

static int imx_setup_ufcr(struct imx_port *sport, unsigned int mode)
{
         unsigned int val;

         /* set receiver / transmitter trigger level. */
         val = readl(sport->port.membase + UFCR) & UFCR_RFDIV;
         val |= TXTL << 10 | RXTL;
         writel(val, sport->port.membase + UFCR);
         return 0;
}

There is no need for imx_setup_ufcr to change divisor.


Troy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help