root/include/linux/dma/dw.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. dw_dma_probe
  2. dw_dma_remove
  3. idma32_dma_probe
  4. idma32_dma_remove

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * Driver for the Synopsys DesignWare DMA Controller
   4  *
   5  * Copyright (C) 2007 Atmel Corporation
   6  * Copyright (C) 2010-2011 ST Microelectronics
   7  * Copyright (C) 2014 Intel Corporation
   8  */
   9 #ifndef _DMA_DW_H
  10 #define _DMA_DW_H
  11 
  12 #include <linux/clk.h>
  13 #include <linux/device.h>
  14 #include <linux/dmaengine.h>
  15 
  16 #include <linux/platform_data/dma-dw.h>
  17 
  18 struct dw_dma;
  19 
  20 /**
  21  * struct dw_dma_chip - representation of DesignWare DMA controller hardware
  22  * @dev:                struct device of the DMA controller
  23  * @id:                 instance ID
  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  * @pdata:              pointer to platform data
  29  */
  30 struct dw_dma_chip {
  31         struct device   *dev;
  32         int             id;
  33         int             irq;
  34         void __iomem    *regs;
  35         struct clk      *clk;
  36         struct dw_dma   *dw;
  37 
  38         const struct dw_dma_platform_data       *pdata;
  39 };
  40 
  41 /* Export to the platform drivers */
  42 #if IS_ENABLED(CONFIG_DW_DMAC_CORE)
  43 int dw_dma_probe(struct dw_dma_chip *chip);
  44 int dw_dma_remove(struct dw_dma_chip *chip);
  45 int idma32_dma_probe(struct dw_dma_chip *chip);
  46 int idma32_dma_remove(struct dw_dma_chip *chip);
  47 #else
  48 static inline int dw_dma_probe(struct dw_dma_chip *chip) { return -ENODEV; }
  49 static inline int dw_dma_remove(struct dw_dma_chip *chip) { return 0; }
  50 static inline int idma32_dma_probe(struct dw_dma_chip *chip) { return -ENODEV; }
  51 static inline int idma32_dma_remove(struct dw_dma_chip *chip) { return 0; }
  52 #endif /* CONFIG_DW_DMAC_CORE */
  53 
  54 #endif /* _DMA_DW_H */

/* [<][>][^][v][top][bottom][index][help] */