m68knommu: simplify the 54xx UART setup code
authorGreg Ungerer <gerg@uclinux.org>
Fri, 23 Dec 2011 15:08:47 +0000 (01:08 +1000)
committerGreg Ungerer <gerg@uclinux.org>
Sun, 4 Mar 2012 23:43:07 +0000 (09:43 +1000)
Simplify the UART setup code so that it no longer loops for each UART
present. Just make it do all the work it needs in a single function.
This will make the code easier to share when we move to a single set
of platform data for ColdFire UARTs.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
arch/m68k/platform/54xx/config.c

index fdf6dcf5da5276d2c01d102f04991bd6ef4a1f94..4083f50682c635e9bf33ed5859ebb6e219393eae 100644 (file)
@@ -59,32 +59,17 @@ static struct platform_device *m54xx_devices[] __initdata = {
 
 /***************************************************************************/
 
-static void __init m54xx_uart_init_line(int line, int irq)
-{
-       int rts_cts;
-
-       /* enable io pins */
-       switch (line) {
-       case 0:
-               rts_cts = 0; break;
-       case 1:
-               rts_cts = MCF_PAR_PSC_RTS_RTS; break;
-       case 2:
-               rts_cts = MCF_PAR_PSC_RTS_RTS | MCF_PAR_PSC_CTS_CTS; break;
-       case 3:
-               rts_cts = 0; break;
-       }
-       __raw_writeb(MCF_PAR_PSC_TXD | rts_cts | MCF_PAR_PSC_RXD,
-                                               MCF_MBAR + MCF_PAR_PSC(line));
-}
-
 static void __init m54xx_uarts_init(void)
 {
-       const int nrlines = ARRAY_SIZE(m54xx_uart_platform);
-       int line;
-
-       for (line = 0; (line < nrlines); line++)
-               m54xx_uart_init_line(line, m54xx_uart_platform[line].irq);
+       /* enable io pins */
+       __raw_writeb(MCF_PAR_PSC_TXD | MCF_PAR_PSC_RXD,
+               MCF_MBAR + MCF_PAR_PSC(0));
+       __raw_writeb(MCF_PAR_PSC_TXD | MCF_PAR_PSC_RXD | MCF_PAR_PSC_RTS_RTS,
+               MCF_MBAR + MCF_PAR_PSC(1));
+       __raw_writeb(MCF_PAR_PSC_TXD | MCF_PAR_PSC_RXD | MCF_PAR_PSC_RTS_RTS |
+               MCF_PAR_PSC_CTS_CTS, MCF_MBAR + MCF_PAR_PSC(2));
+       __raw_writeb(MCF_PAR_PSC_TXD | MCF_PAR_PSC_RXD,
+               MCF_MBAR + MCF_PAR_PSC(3));
 }
 
 /***************************************************************************/