* Russell King - ARM Linux <[email protected]> [120420 08:41]:
>
> So, with this patch plus my original patch to omap's mmc host driver, this
> should result in something which works without all the overhead of drivers
> supplying the port information. Please confirm, and I'll merge this into
> the original omap-dma.c commit.
Then something like this is still needed on top of your original mmc driver
patch for omap2420:
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -1617,11 +1617,14 @@ static int __init mmc_omap_probe(struct platform_device
*pdev)
host->dma_tx_burst = -1;
host->dma_rx_burst = -1;
- sig = host->id == 0 ? OMAP_DMA_MMC_TX : OMAP_DMA_MMC2_TX;
+ if (cpu_is_omap24xx())
+ sig = host->id == 0 ? OMAP24XX_DMA_MMC1_TX :
OMAP24XX_DMA_MMC2_TX;
+ else
+ sig = host->id == 0 ? OMAP_DMA_MMC_TX : OMAP_DMA_MMC2_TX;
host->dma_tx = dma_request_channel(mask, omap_dma_filter_fn, &sig);
#if 0
if (!host->dma_tx) {
- def_err(host->dev, "unable to obtain TX DMA engine channel
%u\n",
+ dev_err(host->dev, "unable to obtain TX DMA engine channel
%u\n",
sig);
goto err_dma;
}
@@ -1632,7 +1635,10 @@ static int __init mmc_omap_probe(struct platform_device
*pdev)
#endif
#endif
#ifdef USE_DMA_ENGINE
- sig = host->id == 0 ? OMAP_DMA_MMC_RX : OMAP_DMA_MMC2_RX;
+ if (cpu_is_omap24xx())
+ sig = host->id == 0 ? OMAP24XX_DMA_MMC1_RX :
OMAP24XX_DMA_MMC2_RX;
+ else
+ sig = host->id == 0 ? OMAP_DMA_MMC_RX : OMAP_DMA_MMC2_RX;
host->dma_rx = dma_request_channel(mask, omap_dma_filter_fn, &sig);
#if 0
if (!host->dma_rx) {
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html