]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
m68knommu: simplify the 5206 UART setup code
authorGreg Ungerer <gerg@uclinux.org>
Fri, 23 Dec 2011 14:49:12 +0000 (00:49 +1000)
committerGreg Ungerer <gerg@uclinux.org>
Sun, 4 Mar 2012 23:43:06 +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/5206/config.c

index 4eec699b3bc9fec0b6e9cef54237deff1c174b5c..a8ba8106cbc8271c7e2b9d852a2ef543e7a69bc9 100644 (file)
@@ -44,26 +44,17 @@ static struct platform_device *m5206_devices[] __initdata = {
 
 /***************************************************************************/
 
-static void __init m5206_uart_init_line(int line, int irq)
-{
-       if (line == 0) {
-               writel(MCFSIM_ICR_LEVEL6 | MCFSIM_ICR_PRI1, MCF_MBAR + MCFSIM_UART1ICR);
-               writeb(irq, MCFUART_BASE0 + MCFUART_UIVR);
-               mcf_mapirq2imr(irq, MCFINTC_UART0);
-       } else if (line == 1) {
-               writel(MCFSIM_ICR_LEVEL6 | MCFSIM_ICR_PRI2, MCF_MBAR + MCFSIM_UART2ICR);
-               writeb(irq, MCFUART_BASE1 + MCFUART_UIVR);
-               mcf_mapirq2imr(irq, MCFINTC_UART1);
-       }
-}
-
 static void __init m5206_uarts_init(void)
 {
-       const int nrlines = ARRAY_SIZE(m5206_uart_platform);
-       int line;
-
-       for (line = 0; (line < nrlines); line++)
-               m5206_uart_init_line(line, m5206_uart_platform[line].irq);
+       /* UART0 interrupt setup */
+       writel(MCFSIM_ICR_LEVEL6 | MCFSIM_ICR_PRI1, MCF_MBAR + MCFSIM_UART1ICR);
+       writeb(MCF_IRQ_UART0, MCFUART_BASE0 + MCFUART_UIVR);
+       mcf_mapirq2imr(MCF_IRQ_UART0, MCFINTC_UART0);
+
+       /* UART1 interrupt setup */
+       writel(MCFSIM_ICR_LEVEL6 | MCFSIM_ICR_PRI2, MCF_MBAR + MCFSIM_UART2ICR);
+       writeb(MCF_IRQ_UART1, MCFUART_BASE1 + MCFUART_UIVR);
+       mcf_mapirq2imr(MCF_IRQ_UART1, MCFINTC_UART1);
 }
 
 /***************************************************************************/