mirror of https://gitee.com/openkylin/linux.git
[ARM] pxa: allow DMA controller IRQ being specified
Signed-off-by: Eric Miao <eric.miao@marvell.com>
This commit is contained in:
parent
51c62982a3
commit
fef1f99a0c
|
@ -113,7 +113,7 @@ static irqreturn_t dma_irq_handler(int irq, void *dev_id)
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
int __init pxa_init_dma(int num_ch)
|
int __init pxa_init_dma(int irq, int num_ch)
|
||||||
{
|
{
|
||||||
int i, ret;
|
int i, ret;
|
||||||
|
|
||||||
|
@ -131,7 +131,7 @@ int __init pxa_init_dma(int num_ch)
|
||||||
dma_channels[i].prio = min((i & 0xf) >> 2, DMA_PRIO_LOW);
|
dma_channels[i].prio = min((i & 0xf) >> 2, DMA_PRIO_LOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = request_irq(IRQ_DMA, dma_irq_handler, IRQF_DISABLED, "DMA", NULL);
|
ret = request_irq(irq, dma_irq_handler, IRQF_DISABLED, "DMA", NULL);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
printk (KERN_CRIT "Wow! Can't register IRQ for DMA\n");
|
printk (KERN_CRIT "Wow! Can't register IRQ for DMA\n");
|
||||||
kfree(dma_channels);
|
kfree(dma_channels);
|
||||||
|
|
|
@ -34,7 +34,7 @@ typedef enum {
|
||||||
* DMA registration
|
* DMA registration
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int __init pxa_init_dma(int num_ch);
|
int __init pxa_init_dma(int irq, int num_ch);
|
||||||
|
|
||||||
int pxa_request_dma (char *name,
|
int pxa_request_dma (char *name,
|
||||||
pxa_dma_prio prio,
|
pxa_dma_prio prio,
|
||||||
|
|
|
@ -353,7 +353,7 @@ static int __init pxa25x_init(void)
|
||||||
|
|
||||||
clks_register(pxa25x_clkregs, ARRAY_SIZE(pxa25x_clkregs));
|
clks_register(pxa25x_clkregs, ARRAY_SIZE(pxa25x_clkregs));
|
||||||
|
|
||||||
if ((ret = pxa_init_dma(16)))
|
if ((ret = pxa_init_dma(IRQ_DMA, 16)))
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
pxa25x_init_pm();
|
pxa25x_init_pm();
|
||||||
|
|
|
@ -379,7 +379,7 @@ static int __init pxa27x_init(void)
|
||||||
|
|
||||||
clks_register(pxa27x_clkregs, ARRAY_SIZE(pxa27x_clkregs));
|
clks_register(pxa27x_clkregs, ARRAY_SIZE(pxa27x_clkregs));
|
||||||
|
|
||||||
if ((ret = pxa_init_dma(32)))
|
if ((ret = pxa_init_dma(IRQ_DMA, 32)))
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
pxa27x_init_pm();
|
pxa27x_init_pm();
|
||||||
|
|
|
@ -594,7 +594,7 @@ static int __init pxa3xx_init(void)
|
||||||
|
|
||||||
clks_register(pxa3xx_clkregs, ARRAY_SIZE(pxa3xx_clkregs));
|
clks_register(pxa3xx_clkregs, ARRAY_SIZE(pxa3xx_clkregs));
|
||||||
|
|
||||||
if ((ret = pxa_init_dma(32)))
|
if ((ret = pxa_init_dma(IRQ_DMA, 32)))
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
pxa3xx_init_pm();
|
pxa3xx_init_pm();
|
||||||
|
|
Loading…
Reference in New Issue