Messages in this thread | | | Date | Fri, 3 Feb 2012 17:01:53 +0000 | From | Russell King <> | Subject | Re: [PATCH 05/11] mmc/host: add context parameter for DMA_SLAVE and DMA_CYCLIC |
| |
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:
| |