]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
m68knommu: simplify the 5407 UART setup code
authorGreg Ungerer <gerg@uclinux.org>
Fri, 23 Dec 2011 15:06:06 +0000 (01:06 +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/5407/config.c

index f8ed5856d7cbad7311563c2f037cd2f7f6b24e6a..ae2689d246e33fab88f25558ec5f8fc4bf5fb4be 100644 (file)
@@ -44,26 +44,17 @@ static struct platform_device *m5407_devices[] __initdata = {
 
 /***************************************************************************/
 
-static void __init m5407_uart_init_line(int line, int irq)
-{
-       if (line == 0) {
-               writeb(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) {
-               writeb(MCFSIM_ICR_LEVEL6 | MCFSIM_ICR_PRI2, MCF_MBAR + MCFSIM_UART2ICR);
-               writeb(irq, MCFUART_BASE1 + MCFUART_UIVR);
-               mcf_mapirq2imr(irq, MCFINTC_UART1);
-       }
-}
-
 static void __init m5407_uarts_init(void)
 {
-       const int nrlines = ARRAY_SIZE(m5407_uart_platform);
-       int line;
-
-       for (line = 0; (line < nrlines); line++)
-               m5407_uart_init_line(line, m5407_uart_platform[line].irq);
+       /* UART0 interrupt setup */
+       writeb(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 */
+       writeb(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);
 }
 
 /***************************************************************************/