[PATCH 8/8] ARM: omap_hsmmc: remove platform data dma_mask and initialization

Russell King - ARM Linux linux at arm.linux.org.uk
Mon Apr 23 10:14:15 EDT 2012


On Fri, Apr 20, 2012 at 09:50:00AM -0700, Tony Lindgren wrote:
> 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) {

Is there any chance this DMA signal information could be moved into
platform resources, like omap_hsmmc has done?  I could then get rid
of the plat/dma.h dependence from this driver.



More information about the linux-arm-kernel mailing list