
Hi Simon,
El 20/02/2018 a las 19:49, Simon Glass escribió:
Hi Alvaro,
On 20 February 2018 at 10:46, Álvaro Fernández Rojas noltari@gmail.com wrote:
Move dma_ops to a separate header file, following other uclass implementations.
Signed-off-by: Álvaro Fernández Rojas noltari@gmail.com
drivers/dma/dma-uclass.c | 3 ++- include/dma-uclass.h | 38 ++++++++++++++++++++++++++++++++++++++ include/dma.h | 22 ---------------------- 3 files changed, 40 insertions(+), 23 deletions(-) create mode 100644 include/dma-uclass.h
diff --git a/drivers/dma/dma-uclass.c b/drivers/dma/dma-uclass.c index 3d0ce22fbc..6fd4e1b35d 100644 --- a/drivers/dma/dma-uclass.c +++ b/drivers/dma/dma-uclass.c @@ -10,10 +10,11 @@ */
#include <common.h> -#include <dma.h> #include <dm.h> #include <dm/uclass-internal.h> #include <dm/device-internal.h> +#include <dma.h> +#include <dma-uclass.h> #include <errno.h>
DECLARE_GLOBAL_DATA_PTR; diff --git a/include/dma-uclass.h b/include/dma-uclass.h new file mode 100644 index 0000000000..e29ad103f2 --- /dev/null +++ b/include/dma-uclass.h @@ -0,0 +1,38 @@ +/*
- Copyright (C) 2018 Álvaro Fernández Rojas noltari@gmail.com
- Copyright (C) 2015 Texas Instruments Incorporated, <www.ti.com>
- Written by Mugunthan V N mugunthanvnm@ti.com
- SPDX-License-Identifier: GPL-2.0+
- */
+#ifndef _DMA_UCLASS_H +#define _DMA_UCLASS_H
+/* See dma.h for background documentation. */
+#include <dma.h>
+/*
- struct dma_ops - Driver model DMA operations
- The uclass interface is implemented by all DMA devices which use
- driver model.
- */
+struct dma_ops {
/*
* Get the current timer count
Is this the correct purpose for the transfer() method?
This is just a copy&paste, that's what you can find in upstream dma.h ;D Anyway, I will fix that.
*
* @dev: The DMA device
* @direction: direction of data transfer should be one from
enum dma_direction
* @dst: Destination pointer
* @src: Source pointer
* @len: Length of the data to be copied.
Is this the number of bytes
What does this function actually do? Does it queue a transfer which completes later? How do I check if it is done?
Please add a lot more docs here.
Same as above.
* @return: 0 if OK, -ve on error
*/
int (*transfer)(struct udevice *dev, int direction, void *dst,
void *src, size_t len);
+};
+#endif /* _DMA_UCLASS_H */ diff --git a/include/dma.h b/include/dma.h index 71fa77f2ea..89320f10d9 100644 --- a/include/dma.h +++ b/include/dma.h @@ -28,28 +28,6 @@ enum dma_direction { #define DMA_SUPPORTS_DEV_TO_DEV BIT(3)
/*
- struct dma_ops - Driver model DMA operations
- The uclass interface is implemented by all DMA devices which use
- driver model.
- */
-struct dma_ops {
/*
* Get the current timer count
*
* @dev: The DMA device
* @direction: direction of data transfer should be one from
enum dma_direction
* @dst: Destination pointer
* @src: Source pointer
* @len: Length of the data to be copied.
* @return: 0 if OK, -ve on error
*/
int (*transfer)(struct udevice *dev, int direction, void *dst,
void *src, size_t len);
-};
-/*
- struct dma_dev_priv - information about a device used by the uclass
- @supported: mode of transfers that DMA can support, should be
-- 2.11.0
Regards, Simon
Regards, Álvaro.