On Tuesday 11 August 2015 14:48:34 Geert Uytterhoeven wrote: > dma_cap_mask_t mask; > @@ -413,12 +413,11 @@ sh_mmcif_request_dma_one(struct sh_mmcif_host *host, > dma_cap_set(DMA_SLAVE, mask); > > if (pdata) > - slave_data = direction == DMA_MEM_TO_DEV ? > - (void *)pdata->slave_id_tx : > - (void *)pdata->slave_id_rx; > + slave_id = direction == DMA_MEM_TO_DEV ? > + pdata->slave_id_tx : pdata->slave_id_rx; > > chan = dma_request_slave_channel_compat(mask, shdma_chan_filter, > - slave_data, dev, > + (void *)(uintptr_t)slave_id, dev, > direction == DMA_MEM_TO_DEV ? "tx" : "rx"); > > dev_dbg(dev, "%s: %s: got channel %p\n", __func__, How about changing the type of the slave_id_rx/slave_id_tx fields to void*? That way, the hack can be moved to arch/sh/boards/board-sh7757lcr.c, which is now the only file passing data this way. Ideally, we'd also pass the shdma_chan_filter function pointer in pdata to avoid the link time dependency on a particular dmaengine driver. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html