linux/include/linux/dma/edma.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/*
   3 * Copyright (c) 2018-2019 Synopsys, Inc. and/or its affiliates.
   4 * Synopsys DesignWare eDMA core driver
   5 *
   6 * Author: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
   7 */
   8
   9#ifndef _DW_EDMA_H
  10#define _DW_EDMA_H
  11
  12#include <linux/device.h>
  13#include <linux/dmaengine.h>
  14
  15struct dw_edma;
  16
  17/**
  18 * struct dw_edma_chip - representation of DesignWare eDMA controller hardware
  19 * @dev:                 struct device of the eDMA controller
  20 * @id:                  instance ID
  21 * @irq:                 irq line
  22 * @dw:                  struct dw_edma that is filed by dw_edma_probe()
  23 */
  24struct dw_edma_chip {
  25        struct device           *dev;
  26        int                     id;
  27        int                     irq;
  28        struct dw_edma          *dw;
  29};
  30
  31/* Export to the platform drivers */
  32#if IS_ENABLED(CONFIG_DW_EDMA)
  33int dw_edma_probe(struct dw_edma_chip *chip);
  34int dw_edma_remove(struct dw_edma_chip *chip);
  35#else
  36static inline int dw_edma_probe(struct dw_edma_chip *chip)
  37{
  38        return -ENODEV;
  39}
  40
  41static inline int dw_edma_remove(struct dw_edma_chip *chip)
  42{
  43        return 0;
  44}
  45#endif /* CONFIG_DW_EDMA */
  46
  47#endif /* _DW_EDMA_H */
  48