m68knommu: simplify the 527x UART setup code
authorGreg Ungerer <gerg@uclinux.org>
Fri, 23 Dec 2011 14:59:03 +0000 (00:59 +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/527x/config.c

index 56f1ddd..74dab02 100644 (file)
@@ -295,35 +295,18 @@ static struct platform_device *m527x_devices[] __initdata = {
 
 /***************************************************************************/
 
-static void __init m527x_uart_init_line(int line, int irq)
+static void __init m527x_uarts_init(void)
 {
        u16 sepmask;
 
-       if ((line < 0) || (line > 2))
-               return;
-
        /*
         * External Pin Mask Setting & Enable External Pin for Interface
         */
        sepmask = readw(MCF_IPSBAR + MCF_GPIO_PAR_UART);
-       if (line == 0)
-               sepmask |= UART0_ENABLE_MASK;
-       else if (line == 1)
-               sepmask |= UART1_ENABLE_MASK;
-       else if (line == 2)
-               sepmask |= UART2_ENABLE_MASK;
+       sepmask |= UART0_ENABLE_MASK | UART1_ENABLE_MASK | UART2_ENABLE_MASK;
        writew(sepmask, MCF_IPSBAR + MCF_GPIO_PAR_UART);
 }
 
-static void __init m527x_uarts_init(void)
-{
-       const int nrlines = ARRAY_SIZE(m527x_uart_platform);
-       int line;
-
-       for (line = 0; (line < nrlines); line++)
-               m527x_uart_init_line(line, m527x_uart_platform[line].irq);
-}
-
 /***************************************************************************/
 
 static void __init m527x_fec_init(void)