diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2006-01-04 10:17:08 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-01-04 10:17:08 -0500 |
commit | 6842b9299272a9471a7e94e046b953f6ffe3db9d (patch) | |
tree | c24433e5f574b7fa70b9f01cbea01544631c6517 | |
parent | 7cdad482974792419cfe4b0affca689170116f49 (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.c | 6 | ||||
-rw-r--r-- | arch/arm/kernel/irq.c | 2 |
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 | ||
251 | void __init init_dma(void) | 251 | static 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 | ||
257 | core_initcall(init_dma); | ||
258 | |||
256 | #else | 259 | #else |
257 | 260 | ||
258 | int request_dma(dmach_t channel, const char *device_id) | 261 | int request_dma(dmach_t channel, const char *device_id) |
@@ -276,7 +279,6 @@ GLOBAL_ALIAS(set_dma_count, get_dma_residue); | |||
276 | GLOBAL_ALIAS(__set_dma_addr, get_dma_residue); | 279 | GLOBAL_ALIAS(__set_dma_addr, get_dma_residue); |
277 | GLOBAL_ALIAS(set_dma_sg, get_dma_residue); | 280 | GLOBAL_ALIAS(set_dma_sg, get_dma_residue); |
278 | GLOBAL_ALIAS(set_dma_speed, get_dma_residue); | 281 | GLOBAL_ALIAS(set_dma_speed, get_dma_residue); |
279 | GLOBAL_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) | |||
1027 | void __init init_IRQ(void) | 1027 | void __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 | ||
1047 | static int __init noirqdebug_setup(char *str) | 1045 | static int __init noirqdebug_setup(char *str) |