提交 6b3348f9 编写于 作者: R Robert Jarzmik

mmc: pxamci: remove the dmaengine compat need

As the pxa architecture switched towards the dmaengine slave map, the
old compatibility mechanism to acquire the dma requestor line number and
priority are not needed anymore.

This patch simplifies the dma resource acquisition, using the more
generic function dma_request_slave_channel().
Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr>
Acked-by: NUlf Hansson <ulf.hansson@linaro.org>
上级 88a0513c
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/dmaengine.h> #include <linux/dmaengine.h>
#include <linux/dma-mapping.h> #include <linux/dma-mapping.h>
#include <linux/dma/pxa-dma.h>
#include <linux/clk.h> #include <linux/clk.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/mmc/host.h> #include <linux/mmc/host.h>
...@@ -637,10 +636,8 @@ static int pxamci_probe(struct platform_device *pdev) ...@@ -637,10 +636,8 @@ static int pxamci_probe(struct platform_device *pdev)
{ {
struct mmc_host *mmc; struct mmc_host *mmc;
struct pxamci_host *host = NULL; struct pxamci_host *host = NULL;
struct resource *r, *dmarx, *dmatx; struct resource *r;
struct pxad_param param_rx, param_tx;
int ret, irq, gpio_cd = -1, gpio_ro = -1, gpio_power = -1; int ret, irq, gpio_cd = -1, gpio_ro = -1, gpio_power = -1;
dma_cap_mask_t mask;
ret = pxamci_of_init(pdev); ret = pxamci_of_init(pdev);
if (ret) if (ret)
...@@ -739,34 +736,14 @@ static int pxamci_probe(struct platform_device *pdev) ...@@ -739,34 +736,14 @@ static int pxamci_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, mmc); platform_set_drvdata(pdev, mmc);
if (!pdev->dev.of_node) { host->dma_chan_rx = dma_request_slave_channel(&pdev->dev, "rx");
dmarx = platform_get_resource(pdev, IORESOURCE_DMA, 0);
dmatx = platform_get_resource(pdev, IORESOURCE_DMA, 1);
if (!dmarx || !dmatx) {
ret = -ENXIO;
goto out;
}
param_rx.prio = PXAD_PRIO_LOWEST;
param_rx.drcmr = dmarx->start;
param_tx.prio = PXAD_PRIO_LOWEST;
param_tx.drcmr = dmatx->start;
}
dma_cap_zero(mask);
dma_cap_set(DMA_SLAVE, mask);
host->dma_chan_rx =
dma_request_slave_channel_compat(mask, pxad_filter_fn,
&param_rx, &pdev->dev, "rx");
if (host->dma_chan_rx == NULL) { if (host->dma_chan_rx == NULL) {
dev_err(&pdev->dev, "unable to request rx dma channel\n"); dev_err(&pdev->dev, "unable to request rx dma channel\n");
ret = -ENODEV; ret = -ENODEV;
goto out; goto out;
} }
host->dma_chan_tx = host->dma_chan_tx = dma_request_slave_channel(&pdev->dev, "tx");
dma_request_slave_channel_compat(mask, pxad_filter_fn,
&param_tx, &pdev->dev, "tx");
if (host->dma_chan_tx == NULL) { if (host->dma_chan_tx == NULL) {
dev_err(&pdev->dev, "unable to request tx dma channel\n"); dev_err(&pdev->dev, "unable to request tx dma channel\n");
ret = -ENODEV; ret = -ENODEV;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册