[PATCH 8/8] ARM: omap_hsmmc: remove platform data dma_mask and initialization
Tony Lindgren
tony at atomide.com
Fri Apr 20 12:50:00 EDT 2012
* Russell King - ARM Linux <linux at arm.linux.org.uk> [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) {
More information about the linux-arm-kernel
mailing list