aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
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 /include/linux
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 'include/linux')
-rw-r--r--include/linux/dma/dw.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/linux/dma/dw.h b/include/linux/dma/dw.h
index 24756130eadb..71456442ebe3 100644
--- a/include/linux/dma/dw.h
+++ b/include/linux/dma/dw.h
@@ -3,6 +3,7 @@
3 * 3 *
4 * Copyright (C) 2007 Atmel Corporation 4 * Copyright (C) 2007 Atmel Corporation
5 * Copyright (C) 2010-2011 ST Microelectronics 5 * Copyright (C) 2010-2011 ST Microelectronics
6 * Copyright (C) 2014 Intel Corporation
6 * 7 *
7 * This program is free software; you can redistribute it and/or modify 8 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as 9 * it under the terms of the GNU General Public License version 2 as
@@ -11,8 +12,34 @@
11#ifndef _DMA_DW_H 12#ifndef _DMA_DW_H
12#define _DMA_DW_H 13#define _DMA_DW_H
13 14
15#include <linux/clk.h>
16#include <linux/device.h>
14#include <linux/dmaengine.h> 17#include <linux/dmaengine.h>
15 18
19#include <linux/platform_data/dma-dw.h>
20
21struct dw_dma;
22
23/**
24 * struct dw_dma_chip - representation of DesignWare DMA controller hardware
25 * @dev: struct device of the DMA controller
26 * @irq: irq line
27 * @regs: memory mapped I/O space
28 * @clk: hclk clock
29 * @dw: struct dw_dma that is filed by dw_dma_probe()
30 */
31struct dw_dma_chip {
32 struct device *dev;
33 int irq;
34 void __iomem *regs;
35 struct clk *clk;
36 struct dw_dma *dw;
37};
38
39/* Export to the platform drivers */
40int dw_dma_probe(struct dw_dma_chip *chip, struct dw_dma_platform_data *pdata);
41int dw_dma_remove(struct dw_dma_chip *chip);
42
16/* DMA API extensions */ 43/* DMA API extensions */
17struct dw_desc; 44struct dw_desc;
18 45