|
|
@@ -24,7 +24,6 @@
|
|
|
#include <linux/interrupt.h>
|
|
|
#include <linux/dmaengine.h>
|
|
|
#include <linux/dma-mapping.h>
|
|
|
-#include <linux/dma/pxa-dma.h>
|
|
|
#include <linux/clk.h>
|
|
|
#include <linux/err.h>
|
|
|
#include <linux/mmc/host.h>
|
|
|
@@ -637,10 +636,8 @@ static int pxamci_probe(struct platform_device *pdev)
|
|
|
{
|
|
|
struct mmc_host *mmc;
|
|
|
struct pxamci_host *host = NULL;
|
|
|
- struct resource *r, *dmarx, *dmatx;
|
|
|
- struct pxad_param param_rx, param_tx;
|
|
|
+ struct resource *r;
|
|
|
int ret, irq, gpio_cd = -1, gpio_ro = -1, gpio_power = -1;
|
|
|
- dma_cap_mask_t mask;
|
|
|
|
|
|
ret = pxamci_of_init(pdev);
|
|
|
if (ret)
|
|
|
@@ -739,34 +736,14 @@ static int pxamci_probe(struct platform_device *pdev)
|
|
|
|
|
|
platform_set_drvdata(pdev, mmc);
|
|
|
|
|
|
- if (!pdev->dev.of_node) {
|
|
|
- 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,
|
|
|
- ¶m_rx, &pdev->dev, "rx");
|
|
|
+ host->dma_chan_rx = dma_request_slave_channel(&pdev->dev, "rx");
|
|
|
if (host->dma_chan_rx == NULL) {
|
|
|
dev_err(&pdev->dev, "unable to request rx dma channel\n");
|
|
|
ret = -ENODEV;
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
- host->dma_chan_tx =
|
|
|
- dma_request_slave_channel_compat(mask, pxad_filter_fn,
|
|
|
- ¶m_tx, &pdev->dev, "tx");
|
|
|
+ host->dma_chan_tx = dma_request_slave_channel(&pdev->dev, "tx");
|
|
|
if (host->dma_chan_tx == NULL) {
|
|
|
dev_err(&pdev->dev, "unable to request tx dma channel\n");
|
|
|
ret = -ENODEV;
|