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

From: Bounine, Alexandre
Date: Fri Feb 03 2012 - 13:37:40 EST


On Fri, Feb 03, 2012 at 12:02 PM, Russell King wrote:
>
> 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.
>

This looks like a great improvement to the original proposal.
I will just add another inline function (with specific type for
parameter)
inside of RapidIO subsystem.

If DMA engine maintainers agree with this approach, I will build a new
patch within next week (changes to existing drivers first, RapidIO to
follow).

Thank you,

Alex.

--
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/