aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/dw
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2014-09-23 10:18:15 -0400
committerVinod Koul <vinod.koul@intel.com>2014-10-15 11:01:05 -0400
commit2a52f6e49e5e400ed98a79503193d81207009647 (patch)
tree58a1d9eb2ef5feb7f509a41fffc786ab92c3dafb /drivers/dma/dw
parent99d9bf4ed27c63d5559e31d112f71af655c7182b (diff)
dmaengine: dw: export probe()/remove() and Co to users
The driver library functions can be used directly by the compound devices such as ADSP or serial driver where DesignWare DMA IP is privately attached to the main hardware. Instead of creating a new platform device leaf they may call dw_dma_probe() with given struct dw_dma_chip directly and make sure that the main device is DMA capable. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/dw')
-rw-r--r--drivers/dma/dw/internal.h29
1 files changed, 3 insertions, 26 deletions
diff --git a/drivers/dma/dw/internal.h b/drivers/dma/dw/internal.h
index c55c3e0bf1fe..41439732ff6b 100644
--- a/drivers/dma/dw/internal.h
+++ b/drivers/dma/dw/internal.h
@@ -8,39 +8,16 @@
8 * published by the Free Software Foundation. 8 * published by the Free Software Foundation.
9 */ 9 */
10 10
11#ifndef _DW_DMAC_INTERNAL_H 11#ifndef _DMA_DW_INTERNAL_H
12#define _DW_DMAC_INTERNAL_H 12#define _DMA_DW_INTERNAL_H
13
14#include <linux/device.h>
15 13
16#include <linux/dma/dw.h> 14#include <linux/dma/dw.h>
17#include <linux/platform_data/dma-dw.h>
18 15
19#include "regs.h" 16#include "regs.h"
20 17
21/**
22 * struct dw_dma_chip - representation of DesignWare DMA controller hardware
23 * @dev: struct device of the DMA controller
24 * @irq: irq line
25 * @regs: memory mapped I/O space
26 * @clk: hclk clock
27 * @dw: struct dw_dma that is filed by dw_dma_probe()
28 */
29struct dw_dma_chip {
30 struct device *dev;
31 int irq;
32 void __iomem *regs;
33 struct clk *clk;
34 struct dw_dma *dw;
35};
36
37/* Export to the platform drivers */
38int dw_dma_probe(struct dw_dma_chip *chip, struct dw_dma_platform_data *pdata);
39int dw_dma_remove(struct dw_dma_chip *chip);
40
41int dw_dma_disable(struct dw_dma_chip *chip); 18int dw_dma_disable(struct dw_dma_chip *chip);
42int dw_dma_enable(struct dw_dma_chip *chip); 19int dw_dma_enable(struct dw_dma_chip *chip);
43 20
44extern bool dw_dma_filter(struct dma_chan *chan, void *param); 21extern bool dw_dma_filter(struct dma_chan *chan, void *param);
45 22
46#endif /* _DW_DMAC_INTERNAL_H */ 23#endif /* _DMA_DW_INTERNAL_H */