[U-Boot] [RFC v2 01/15] dma: move dma_ops to dma-uclass.h

Álvaro Fernández Rojas noltari at gmail.com
Tue Feb 20 18:55:30 UTC 2018


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 at gmail.com> wrote:
>> Move dma_ops to a separate header file, following other uclass implementations.
>>
>> Signed-off-by: Álvaro Fernández Rojas <noltari at 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 at gmail.com>
>> + * Copyright (C) 2015 Texas Instruments Incorporated, <www.ti.com>
>> + * Written by Mugunthan V N <mugunthanvnm at 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.


More information about the U-Boot mailing list