diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2006-01-04 15:17:08 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-01-04 15:17:08 +0000 |
commit | 6842b9299272a9471a7e94e046b953f6ffe3db9d (patch) | |
tree | c24433e5f574b7fa70b9f01cbea01544631c6517 | |
parent | 7cdad482974792419cfe4b0affca689170116f49 (diff) | |
download | kernel_samsung_aries-6842b9299272a9471a7e94e046b953f6ffe3db9d.zip kernel_samsung_aries-6842b9299272a9471a7e94e046b953f6ffe3db9d.tar.gz kernel_samsung_aries-6842b9299272a9471a7e94e046b953f6ffe3db9d.tar.bz2 |
[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 913fd94..3b325ef 100644 --- a/arch/arm/kernel/dma.c +++ b/arch/arm/kernel/dma.c @@ -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 diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index d7099db..869c466 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c @@ -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) |