[ARM] Use core_initcall() to initialise ARM DMA
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Wed, 4 Jan 2006 15:17:08 +0000 (15:17 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 4 Jan 2006 15:17:08 +0000 (15:17 +0000)
There's no need to have DMA initialised at the same time as
interrupts.  Move it to a core_initcall().

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/dma.c
arch/arm/kernel/irq.c

index 913fd947528c06d64dbf4bb9e1f40a940020225c..3b325ef55a28e9cd3b2a9a4fc5e32a7badc4671e 100644 (file)
@@ -248,11 +248,14 @@ int get_dma_residue(dmach_t channel)
        return ret;
 }
 
-void __init init_dma(void)
+static int __init init_dma(void)
 {
        arch_dma_init(dma_chan);
+       return 0;
 }
 
+core_initcall(init_dma);
+
 #else
 
 int request_dma(dmach_t channel, const char *device_id)
@@ -276,7 +279,6 @@ GLOBAL_ALIAS(set_dma_count, get_dma_residue);
 GLOBAL_ALIAS(__set_dma_addr, get_dma_residue);
 GLOBAL_ALIAS(set_dma_sg, get_dma_residue);
 GLOBAL_ALIAS(set_dma_speed, get_dma_residue);
-GLOBAL_ALIAS(init_dma, get_dma_residue);
 
 #endif
 
index d7099dbbb879ab8cd9ed6c417bdcc87d461dd747..869c466e625852689c6f1e792d4ee1e0262884f6 100644 (file)
@@ -1027,7 +1027,6 @@ void __init init_irq_proc(void)
 void __init init_IRQ(void)
 {
        struct irqdesc *desc;
-       extern void init_dma(void);
        int irq;
 
 #ifdef CONFIG_SMP
@@ -1041,7 +1040,6 @@ void __init init_IRQ(void)
        }
 
        init_arch_irq();
-       init_dma();
 }
 
 static int __init noirqdebug_setup(char *str)