Re: [PATCH 05/11] mmc/host: add context parameter for DMA_SLAVEand DMA_CYCLIC

From: Russell King
Date: Fri Feb 03 2012 - 12:02:54 EST


On Fri, Feb 03, 2012 at 08:52:07AM -0800, Bounine, Alexandre wrote:
> If these API changes will be approved I will resubmit these changes as
> one patch.

I'd like to suggest an alternative approach, if you still want to add a
void * parameter to this.

1. A patch which adds this, and convert users over to it:

static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_sg(
struct dma_chan *chan, struct scatterlist *sg, unsigned sg_len,
enum dma_transfer_direction direction, unsigned long flags)
{
return chan->device->device_prep_slave_sg(chan, sg, sglen, dir, flags);
}

2. Change device->device_prep_slave_sg() to have a new prototype, and
update the above inline function to cope with the change. This API
change is then restricted to just the DMA engine code.

3. Introduce a new inline function to deal with rapidio slave sg
submission.

This means all drivers which aren't capable of using the special rapidio
features get to ignore the new details about rapidio entirely.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/