diff --git a/[refs] b/[refs] index 4f7f64c9f0a7..e65d7608df26 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a5044cddad2fba36c725a019a6cd0e3f286b13d0 +refs/heads/master: e9c8d7a03e69093e4c33c5056a45c1233a42e8a4 diff --git a/trunk/drivers/dma/shdma.c b/trunk/drivers/dma/shdma.c index 54043cd831c8..812fd76e9c18 100644 --- a/trunk/drivers/dma/shdma.c +++ b/trunk/drivers/dma/shdma.c @@ -1262,7 +1262,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/trunk/include/linux/sh_dma.h b/trunk/include/linux/sh_dma.h index 8cd7fe59cf1a..425450b980b8 100644 --- a/trunk/include/linux/sh_dma.h +++ b/trunk/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 */