diff options
author | Haavard Skinnemoen <haavard.skinnemoen@atmel.com> | 2008-07-08 14:58:58 -0400 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2008-07-08 14:58:58 -0400 |
commit | 848c536a37b8db4e461f14ca15fe29850151c822 (patch) | |
tree | f4a88e92e31de28511e3a3de99200a77d2613dae /drivers/dma/dmaengine.c | |
parent | 4a776f0aa922a552460192c07b56f4fe9cd82632 (diff) |
dmaengine: Add dma_client parameter to device_alloc_chan_resources
A DMA controller capable of doing slave transfers may need to know a
few things about the slave when preparing the channel. We don't want
to add this information to struct dma_channel since the channel hasn't
yet been bound to a client at this point.
Instead, pass a reference to the client requesting the channel to the
driver's device_alloc_chan_resources hook so that it can pick the
necessary information from the dma_client struct by itself.
[dan.j.williams@intel.com: fixed up fsldma and mv_xor]
Acked-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/dma/dmaengine.c')
-rw-r--r-- | drivers/dma/dmaengine.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index 10de69eb1a3e..7344f5dbd501 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c | |||
@@ -174,7 +174,8 @@ static void dma_client_chan_alloc(struct dma_client *client) | |||
174 | if (!dma_chan_satisfies_mask(chan, client->cap_mask)) | 174 | if (!dma_chan_satisfies_mask(chan, client->cap_mask)) |
175 | continue; | 175 | continue; |
176 | 176 | ||
177 | desc = chan->device->device_alloc_chan_resources(chan); | 177 | desc = chan->device->device_alloc_chan_resources( |
178 | chan, client); | ||
178 | if (desc >= 0) { | 179 | if (desc >= 0) { |
179 | ack = client->event_callback(client, | 180 | ack = client->event_callback(client, |
180 | chan, | 181 | chan, |