Re: [PATCH v5 1/2] dmaengine: Add context parameter to prep_dma_sgand prep_interleaved_dma

From: Vinod Koul
Date: Mon Mar 26 2012 - 03:21:18 EST


On Mon, 2012-03-26 at 12:25 +0530, Trilok Soni wrote:
> >
> > You need to
> > 1) add wrappers over interleaved api which dont expose this
> additional
> > parameter
> > 2) move existing users to use these wrappers
>
> Above two steps would be exactly same as
> https://lkml.org/lkml/2012/3/8/401 - [PATCH 1/2 V2]
> dmaengine/dma_slave:
> introduce inline wrappers, right?
>
> > 3) add a new API which has your additional argument (not an opaque
> > object) and this calls .device_xx callback with additional arg.
> > 4. Above can be under conditional of your specific subsystem where
> these
> > parameters are valid.
>
> Now, this would be different from what Alexandre had submitted, since
> he
> had added "void *context" parameter directly to existing callbacks
> dma_slave_sg and and cyclic under struct dma_device.
In that case the wrappers existed, so he modified them and ensured all
clients use these and not the .device callbacks

So you need to create the new wrappers without any context parameter and
ensure all clients use these.
>
> And you prefer that we add new callbacks under "struct dma_device"
> for
> our specific requirement with new name and with that extra non-opaque
> object. After that add wrappers for these two new callbacks say
> dmaengine_prep_dma_sg_ext and dmagengine_prep_interleaved_dma_ext
> (same
> name goes for callback).
>
>
--
~Vinod

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