diff options
-rw-r--r-- | arch/arm/plat-mxc/dma-mx1-mx2.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/plat-mxc/dma-mx1-mx2.c b/arch/arm/plat-mxc/dma-mx1-mx2.c index e1c2eb497fbc..2905ec758758 100644 --- a/arch/arm/plat-mxc/dma-mx1-mx2.c +++ b/arch/arm/plat-mxc/dma-mx1-mx2.c | |||
@@ -511,6 +511,7 @@ void imx_dma_disable(int channel) | |||
511 | } | 511 | } |
512 | EXPORT_SYMBOL(imx_dma_disable); | 512 | EXPORT_SYMBOL(imx_dma_disable); |
513 | 513 | ||
514 | #ifdef CONFIG_ARCH_MX2 | ||
514 | static void imx_dma_watchdog(unsigned long chno) | 515 | static void imx_dma_watchdog(unsigned long chno) |
515 | { | 516 | { |
516 | struct imx_dma_channel *imxdma = &imx_dma_channels[chno]; | 517 | struct imx_dma_channel *imxdma = &imx_dma_channels[chno]; |
@@ -522,6 +523,7 @@ static void imx_dma_watchdog(unsigned long chno) | |||
522 | if (imxdma->err_handler) | 523 | if (imxdma->err_handler) |
523 | imxdma->err_handler(chno, imxdma->data, IMX_DMA_ERR_TIMEOUT); | 524 | imxdma->err_handler(chno, imxdma->data, IMX_DMA_ERR_TIMEOUT); |
524 | } | 525 | } |
526 | #endif | ||
525 | 527 | ||
526 | static irqreturn_t dma_err_handler(int irq, void *dev_id) | 528 | static irqreturn_t dma_err_handler(int irq, void *dev_id) |
527 | { | 529 | { |
@@ -674,7 +676,7 @@ int imx_dma_request(int channel, const char *name) | |||
674 | { | 676 | { |
675 | struct imx_dma_channel *imxdma = &imx_dma_channels[channel]; | 677 | struct imx_dma_channel *imxdma = &imx_dma_channels[channel]; |
676 | unsigned long flags; | 678 | unsigned long flags; |
677 | int ret; | 679 | int ret = 0; |
678 | 680 | ||
679 | /* basic sanity checks */ | 681 | /* basic sanity checks */ |
680 | if (!name) | 682 | if (!name) |
@@ -696,6 +698,7 @@ int imx_dma_request(int channel, const char *name) | |||
696 | ret = request_irq(MXC_INT_DMACH0 + channel, dma_irq_handler, 0, "DMA", | 698 | ret = request_irq(MXC_INT_DMACH0 + channel, dma_irq_handler, 0, "DMA", |
697 | NULL); | 699 | NULL); |
698 | if (ret) { | 700 | if (ret) { |
701 | local_irq_restore(flags); | ||
699 | printk(KERN_CRIT "Can't register IRQ %d for DMA channel %d\n", | 702 | printk(KERN_CRIT "Can't register IRQ %d for DMA channel %d\n", |
700 | MXC_INT_DMACH0 + channel, channel); | 703 | MXC_INT_DMACH0 + channel, channel); |
701 | return ret; | 704 | return ret; |
@@ -712,7 +715,7 @@ int imx_dma_request(int channel, const char *name) | |||
712 | imxdma->sg = NULL; | 715 | imxdma->sg = NULL; |
713 | 716 | ||
714 | local_irq_restore(flags); | 717 | local_irq_restore(flags); |
715 | return 0; | 718 | return ret; |
716 | } | 719 | } |
717 | EXPORT_SYMBOL(imx_dma_request); | 720 | EXPORT_SYMBOL(imx_dma_request); |
718 | 721 | ||