aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2006-01-04 10:17:08 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-01-04 10:17:08 -0500
commit6842b9299272a9471a7e94e046b953f6ffe3db9d (patch)
treec24433e5f574b7fa70b9f01cbea01544631c6517
parent7cdad482974792419cfe4b0affca689170116f49 (diff)
[ARM] Use core_initcall() to initialise ARM DMA
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>
-rw-r--r--arch/arm/kernel/dma.c6
-rw-r--r--arch/arm/kernel/irq.c2
2 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/kernel/dma.c b/arch/arm/kernel/dma.c
index 913fd947528c..3b325ef55a28 100644
--- a/arch/arm/kernel/dma.c
+++ b/arch/arm/kernel/dma.c
@@ -248,11 +248,14 @@ int get_dma_residue(dmach_t channel)
248 return ret; 248 return ret;
249} 249}
250 250
251void __init init_dma(void) 251static int __init init_dma(void)
252{ 252{
253 arch_dma_init(dma_chan); 253 arch_dma_init(dma_chan);
254 return 0;
254} 255}
255 256
257core_initcall(init_dma);
258
256#else 259#else
257 260
258int request_dma(dmach_t channel, const char *device_id) 261int request_dma(dmach_t channel, const char *device_id)
@@ -276,7 +279,6 @@ GLOBAL_ALIAS(set_dma_count, get_dma_residue);
276GLOBAL_ALIAS(__set_dma_addr, get_dma_residue); 279GLOBAL_ALIAS(__set_dma_addr, get_dma_residue);
277GLOBAL_ALIAS(set_dma_sg, get_dma_residue); 280GLOBAL_ALIAS(set_dma_sg, get_dma_residue);
278GLOBAL_ALIAS(set_dma_speed, get_dma_residue); 281GLOBAL_ALIAS(set_dma_speed, get_dma_residue);
279GLOBAL_ALIAS(init_dma, get_dma_residue);
280 282
281#endif 283#endif
282 284
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c
index d7099dbbb879..869c466e6258 100644
--- a/arch/arm/kernel/irq.c
+++ b/arch/arm/kernel/irq.c
@@ -1027,7 +1027,6 @@ void __init init_irq_proc(void)
1027void __init init_IRQ(void) 1027void __init init_IRQ(void)
1028{ 1028{
1029 struct irqdesc *desc; 1029 struct irqdesc *desc;
1030 extern void init_dma(void);
1031 int irq; 1030 int irq;
1032 1031
1033#ifdef CONFIG_SMP 1032#ifdef CONFIG_SMP
@@ -1041,7 +1040,6 @@ void __init init_IRQ(void)
1041 } 1040 }
1042 1041
1043 init_arch_irq(); 1042 init_arch_irq();
1044 init_dma();
1045} 1043}
1046 1044
1047static int __init noirqdebug_setup(char *str) 1045static int __init noirqdebug_setup(char *str)