[PATCH 1/2] dma: sh_dma: not all SH DMAC implementations supportMEMCPY

From: Guennadi Liakhovetski
Date: Wed Jan 18 2012 - 04:14:51 EST


Add a flag to allow platforms to specify, whether a DMAC instance supports
the MEMCPY operation. To avoid regressions, preserve the current default.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
---
drivers/dma/shdma.c | 3 ++-
include/linux/sh_dma.h | 1 +
2 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c
index cabcfe8..e4ed4da 100644
--- a/drivers/dma/shdma.c
+++ b/drivers/dma/shdma.c
@@ -1267,7 +1267,8 @@ static int __init sh_dmae_probe(struct platform_device *pdev)

INIT_LIST_HEAD(&shdev->common.channels);

- dma_cap_set(DMA_MEMCPY, shdev->common.cap_mask);
+ if (!pdata->slave_only)
+ dma_cap_set(DMA_MEMCPY, shdev->common.cap_mask);
if (pdata->slave && pdata->slave_num)
dma_cap_set(DMA_SLAVE, shdev->common.cap_mask);

diff --git a/include/linux/sh_dma.h b/include/linux/sh_dma.h
index e11e171..db637b9 100644
--- a/include/linux/sh_dma.h
+++ b/include/linux/sh_dma.h
@@ -70,6 +70,7 @@ struct sh_dmae_pdata {
unsigned int needs_tend_set:1;
unsigned int no_dmars:1;
unsigned int chclr_present:1;
+ unsigned int slave_only:1;
};

/* DMA register */
--
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/