aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Miao <eric.miao@marvell.com>2009-01-02 03:26:33 -0500
committerEric Miao <eric.miao@marvell.com>2009-03-09 09:22:36 -0400
commitfef1f99a0c2928893c074bf3eff27efd36a4532a (patch)
tree9827b349bd741a483fb40eed10a6f382a8b09eb3
parent51c62982a33d9086fd8876293411d28a5f97247a (diff)
[ARM] pxa: allow DMA controller IRQ being specified
Signed-off-by: Eric Miao <eric.miao@marvell.com>
-rw-r--r--arch/arm/mach-pxa/dma.c4
-rw-r--r--arch/arm/mach-pxa/include/mach/dma.h2
-rw-r--r--arch/arm/mach-pxa/pxa25x.c2
-rw-r--r--arch/arm/mach-pxa/pxa27x.c2
-rw-r--r--arch/arm/mach-pxa/pxa3xx.c2
5 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/mach-pxa/dma.c b/arch/arm/mach-pxa/dma.c
index 7de17fc5d54b..4613bf1fe43c 100644
--- a/arch/arm/mach-pxa/dma.c
+++ b/arch/arm/mach-pxa/dma.c
@@ -113,7 +113,7 @@ static irqreturn_t dma_irq_handler(int irq, void *dev_id)
113 return IRQ_HANDLED; 113 return IRQ_HANDLED;
114} 114}
115 115
116int __init pxa_init_dma(int num_ch) 116int __init pxa_init_dma(int irq, int num_ch)
117{ 117{
118 int i, ret; 118 int i, ret;
119 119
@@ -131,7 +131,7 @@ int __init pxa_init_dma(int num_ch)
131 dma_channels[i].prio = min((i & 0xf) >> 2, DMA_PRIO_LOW); 131 dma_channels[i].prio = min((i & 0xf) >> 2, DMA_PRIO_LOW);
132 } 132 }
133 133
134 ret = request_irq(IRQ_DMA, dma_irq_handler, IRQF_DISABLED, "DMA", NULL); 134 ret = request_irq(irq, dma_irq_handler, IRQF_DISABLED, "DMA", NULL);
135 if (ret) { 135 if (ret) {
136 printk (KERN_CRIT "Wow! Can't register IRQ for DMA\n"); 136 printk (KERN_CRIT "Wow! Can't register IRQ for DMA\n");
137 kfree(dma_channels); 137 kfree(dma_channels);
diff --git a/arch/arm/mach-pxa/include/mach/dma.h b/arch/arm/mach-pxa/include/mach/dma.h
index 7804637a6df3..77607fe4bd65 100644
--- a/arch/arm/mach-pxa/include/mach/dma.h
+++ b/arch/arm/mach-pxa/include/mach/dma.h
@@ -34,7 +34,7 @@ typedef enum {
34 * DMA registration 34 * DMA registration
35 */ 35 */
36 36
37int __init pxa_init_dma(int num_ch); 37int __init pxa_init_dma(int irq, int num_ch);
38 38
39int pxa_request_dma (char *name, 39int pxa_request_dma (char *name,
40 pxa_dma_prio prio, 40 pxa_dma_prio prio,
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c
index 823cd891def1..2332e2dc3504 100644
--- a/arch/arm/mach-pxa/pxa25x.c
+++ b/arch/arm/mach-pxa/pxa25x.c
@@ -353,7 +353,7 @@ static int __init pxa25x_init(void)
353 353
354 clks_register(pxa25x_clkregs, ARRAY_SIZE(pxa25x_clkregs)); 354 clks_register(pxa25x_clkregs, ARRAY_SIZE(pxa25x_clkregs));
355 355
356 if ((ret = pxa_init_dma(16))) 356 if ((ret = pxa_init_dma(IRQ_DMA, 16)))
357 return ret; 357 return ret;
358 358
359 pxa25x_init_pm(); 359 pxa25x_init_pm();
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c
index 0807794442ee..c8b469bbcf3b 100644
--- a/arch/arm/mach-pxa/pxa27x.c
+++ b/arch/arm/mach-pxa/pxa27x.c
@@ -379,7 +379,7 @@ static int __init pxa27x_init(void)
379 379
380 clks_register(pxa27x_clkregs, ARRAY_SIZE(pxa27x_clkregs)); 380 clks_register(pxa27x_clkregs, ARRAY_SIZE(pxa27x_clkregs));
381 381
382 if ((ret = pxa_init_dma(32))) 382 if ((ret = pxa_init_dma(IRQ_DMA, 32)))
383 return ret; 383 return ret;
384 384
385 pxa27x_init_pm(); 385 pxa27x_init_pm();
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c
index 490893824e78..e626b79cbee4 100644
--- a/arch/arm/mach-pxa/pxa3xx.c
+++ b/arch/arm/mach-pxa/pxa3xx.c
@@ -594,7 +594,7 @@ static int __init pxa3xx_init(void)
594 594
595 clks_register(pxa3xx_clkregs, ARRAY_SIZE(pxa3xx_clkregs)); 595 clks_register(pxa3xx_clkregs, ARRAY_SIZE(pxa3xx_clkregs));
596 596
597 if ((ret = pxa_init_dma(32))) 597 if ((ret = pxa_init_dma(IRQ_DMA, 32)))
598 return ret; 598 return ret;
599 599
600 pxa3xx_init_pm(); 600 pxa3xx_init_pm();