|
@@ -1911,21 +1911,23 @@ static int omap_hsmmc_probe(struct platform_device *pdev)
|
|
|
|
|
|
omap_hsmmc_conf_bus_power(host);
|
|
|
|
|
|
- res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "tx");
|
|
|
- if (!res) {
|
|
|
- dev_err(mmc_dev(host->mmc), "cannot get DMA TX channel\n");
|
|
|
- ret = -ENXIO;
|
|
|
- goto err_irq;
|
|
|
- }
|
|
|
- tx_req = res->start;
|
|
|
+ if (!pdev->dev.of_node) {
|
|
|
+ res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "tx");
|
|
|
+ if (!res) {
|
|
|
+ dev_err(mmc_dev(host->mmc), "cannot get DMA TX channel\n");
|
|
|
+ ret = -ENXIO;
|
|
|
+ goto err_irq;
|
|
|
+ }
|
|
|
+ tx_req = res->start;
|
|
|
|
|
|
- res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx");
|
|
|
- if (!res) {
|
|
|
- dev_err(mmc_dev(host->mmc), "cannot get DMA RX channel\n");
|
|
|
- ret = -ENXIO;
|
|
|
- goto err_irq;
|
|
|
+ res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx");
|
|
|
+ if (!res) {
|
|
|
+ dev_err(mmc_dev(host->mmc), "cannot get DMA RX channel\n");
|
|
|
+ ret = -ENXIO;
|
|
|
+ goto err_irq;
|
|
|
+ }
|
|
|
+ rx_req = res->start;
|
|
|
}
|
|
|
- rx_req = res->start;
|
|
|
|
|
|
dma_cap_zero(mask);
|
|
|
dma_cap_set(DMA_SLAVE, mask);
|