diff options
author | Matt Porter <mporter@ti.com> | 2013-02-01 13:22:52 -0500 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2013-02-27 12:07:34 -0500 |
commit | 864ef69b2d9b34e7c85baa9c5c601d5e735b208a (patch) | |
tree | 3f6d1de5857b492ee9823237b0ee446049615923 /include/linux | |
parent | 17166a3b6e88b93189e6be5f7e1335a3cc4fa965 (diff) |
dmaengine: add dma_request_slave_channel_compat()
Adds a dma_request_slave_channel_compat() wrapper which accepts
both the arguments from dma_request_channel() and
dma_request_slave_channel(). Based on whether the driver is
instantiated via DT, the appropriate channel request call will be
made.
This allows for a much cleaner migration of drivers to the
dmaengine DT API as platforms continue to be mixed between those
that boot using DT and those that do not.
Suggested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Matt Porter <mporter@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/dmaengine.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index f5939999cb65..91ac8da25020 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h | |||
@@ -1001,6 +1001,22 @@ void dma_run_dependencies(struct dma_async_tx_descriptor *tx); | |||
1001 | struct dma_chan *dma_find_channel(enum dma_transaction_type tx_type); | 1001 | struct dma_chan *dma_find_channel(enum dma_transaction_type tx_type); |
1002 | struct dma_chan *net_dma_find_channel(void); | 1002 | struct dma_chan *net_dma_find_channel(void); |
1003 | #define dma_request_channel(mask, x, y) __dma_request_channel(&(mask), x, y) | 1003 | #define dma_request_channel(mask, x, y) __dma_request_channel(&(mask), x, y) |
1004 | #define dma_request_slave_channel_compat(mask, x, y, dev, name) \ | ||
1005 | __dma_request_slave_channel_compat(&(mask), x, y, dev, name) | ||
1006 | |||
1007 | static inline struct dma_chan | ||
1008 | *__dma_request_slave_channel_compat(dma_cap_mask_t *mask, dma_filter_fn fn, | ||
1009 | void *fn_param, struct device *dev, | ||
1010 | char *name) | ||
1011 | { | ||
1012 | struct dma_chan *chan; | ||
1013 | |||
1014 | chan = dma_request_slave_channel(dev, name); | ||
1015 | if (chan) | ||
1016 | return chan; | ||
1017 | |||
1018 | return __dma_request_channel(mask, fn, fn_param); | ||
1019 | } | ||
1004 | 1020 | ||
1005 | /* --- Helper iov-locking functions --- */ | 1021 | /* --- Helper iov-locking functions --- */ |
1006 | 1022 | ||