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