[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>
This commit is contained in:
committed by
Russell King
parent
7cdad48297
commit
6842b92992
@@ -248,11 +248,14 @@ int get_dma_residue(dmach_t channel)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void __init init_dma(void)
|
static int __init init_dma(void)
|
||||||
{
|
{
|
||||||
arch_dma_init(dma_chan);
|
arch_dma_init(dma_chan);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
core_initcall(init_dma);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
int request_dma(dmach_t channel, const char *device_id)
|
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_addr, get_dma_residue);
|
||||||
GLOBAL_ALIAS(set_dma_sg, get_dma_residue);
|
GLOBAL_ALIAS(set_dma_sg, get_dma_residue);
|
||||||
GLOBAL_ALIAS(set_dma_speed, get_dma_residue);
|
GLOBAL_ALIAS(set_dma_speed, get_dma_residue);
|
||||||
GLOBAL_ALIAS(init_dma, get_dma_residue);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -1027,7 +1027,6 @@ void __init init_irq_proc(void)
|
|||||||
void __init init_IRQ(void)
|
void __init init_IRQ(void)
|
||||||
{
|
{
|
||||||
struct irqdesc *desc;
|
struct irqdesc *desc;
|
||||||
extern void init_dma(void);
|
|
||||||
int irq;
|
int irq;
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
@@ -1041,7 +1040,6 @@ void __init init_IRQ(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
init_arch_irq();
|
init_arch_irq();
|
||||||
init_dma();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __init noirqdebug_setup(char *str)
|
static int __init noirqdebug_setup(char *str)
|
||||||
|
Reference in New Issue
Block a user