dmaengine: shdma: Enable on SH-Mobile ARM
authorMagnus Damm <damm@opensource.se>
Fri, 19 Mar 2010 04:47:19 +0000 (04:47 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Wed, 7 Apr 2010 07:17:01 +0000 (16:17 +0900)
Enable the shdma dmaengine driver on SH-Mobile ARM.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>

drivers/dma/Kconfig
drivers/dma/shdma.c
include/linux/serial_sci.h

index c27f80e..9d8ca99 100644 (file)
@@ -128,7 +128,7 @@ config TXX9_DMAC
 
 config SH_DMAE
        tristate "Renesas SuperH DMAC support"
-       depends on SUPERH && SH_DMA
+       depends on (SUPERH && SH_DMA) || (ARM && ARCH_SHMOBILE)
        depends on !SH_DMA_API
        select DMA_ENGINE
        help
index 7a18b58..bbc3dfe 100644 (file)
@@ -793,7 +793,7 @@ static irqreturn_t sh_dmae_interrupt(int irq, void *data)
        return ret;
 }
 
-#if defined(CONFIG_CPU_SH4)
+#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_SHMOBILE)
 static irqreturn_t sh_dmae_err(int irq, void *data)
 {
        struct sh_dmae_device *shdev = (struct sh_dmae_device *)data;
@@ -1034,7 +1034,7 @@ static int __init sh_dmae_probe(struct platform_device *pdev)
        /* Default transfer size of 32 bytes requires 32-byte alignment */
        shdev->common.copy_align = LOG2_DEFAULT_XFER_SIZE;
 
-#if defined(CONFIG_CPU_SH4)
+#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_SHMOBILE)
        chanirq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 1);
 
        if (!chanirq_res)
@@ -1059,7 +1059,7 @@ static int __init sh_dmae_probe(struct platform_device *pdev)
 
 #else
        chanirq_res = errirq_res;
-#endif /* CONFIG_CPU_SH4 */
+#endif /* CONFIG_CPU_SH4 || CONFIG_ARCH_SHMOBILE */
 
        if (chanirq_res->start == chanirq_res->end &&
            !platform_get_resource(pdev, IORESOURCE_IRQ, 1)) {
@@ -1106,7 +1106,7 @@ static int __init sh_dmae_probe(struct platform_device *pdev)
 chan_probe_err:
        sh_dmae_chan_remove(shdev);
 eirqres:
-#if defined(CONFIG_CPU_SH4)
+#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_SHMOBILE)
        free_irq(errirq, shdev);
 eirq_err:
 #endif
index f5364a1..837efa4 100644 (file)
@@ -3,7 +3,7 @@
 
 #include <linux/serial_core.h>
 #ifdef CONFIG_SERIAL_SH_SCI_DMA
-#include <asm/dmaengine.h>
+#include <linux/sh_dma.h>
 #endif
 
 /*