On 15-04-20, 10:27, Alan Mikhak wrote: > From: Alan Mikhak <alan.mikhak@xxxxxxxxxx> > > Decouple dw-edma-core.c from struct pci_dev as a step toward integration > of dw-edma with pci-epf-test so the latter can initiate dma operations > locally from the endpoint side. A barrier to such integration is the > dependency of dw_edma_probe() and other functions in dw-edma-core.c on > struct pci_dev. > > The Synopsys DesignWare dw-edma driver was designed to run on host side > of PCIe link to initiate DMA operations remotely using eDMA channels of > PCIe controller on the endpoint side. This can be inferred from seeing > that dw-edma uses struct pci_dev and accesses hardware registers of dma > channels across the bus using BAR0 and BAR2. > > The ops field of struct dw_edma in dw-edma-core.h is currenty undefined: > > const struct dw_edma_core_ops *ops; > > However, the kernel builds without failure even when dw-edma driver is > enabled. Instead of removing the currently undefined and usued ops field, > define struct dw_edma_core_ops and use the ops field to decouple > dw-edma-core.c from struct pci_dev. Applied, thanks -- ~Vinod