/* SPDX-License-Identifier: GPL-2.0+ */ /* * Copyright (C) 2018 Álvaro Fernández Rojas * Copyright (C) 2015 Texas Instruments Incorporated * Written by Mugunthan V N * */ #ifndef _DMA_UCLASS_H #define _DMA_UCLASS_H /* See dma.h for background documentation. */ #include /* * struct dma_ops - Driver model DMA operations * * The uclass interface is implemented by all DMA devices which use * driver model. */ struct dma_ops { /** * transfer() - Issue a DMA transfer. The implementation must * wait until the transfer is done. * * @dev: The DMA device * @direction: direction of data transfer (should be one from * enum dma_direction) * @dst: The destination pointer. * @src: The source pointer. * @len: Length of the data to be copied (number of bytes). * @return zero on success, or -ve error code. */ int (*transfer)(struct udevice *dev, int direction, void *dst, void *src, size_t len); }; #endif /* _DMA_UCLASS_H */