On 02/03/2015 11:25 PM, Anders Roxell wrote:
> On 2015-02-02 22:44, Bill Fischofer wrote:
>> Signed-off-by: Bill Fischofer <bill.fischo...@linaro.org>
>> ---
>>  .../linux-generic/include/odp/plat/buffer_types.h  | 15 ++++++++---
>>  .../linux-generic/include/odp_buffer_inlines.h     | 12 ++++-----
>>  .../linux-generic/include/odp_buffer_internal.h    | 31 
>> +++++++++++-----------
>>  platform/linux-generic/odp_packet.c                | 13 ++++-----
>>  4 files changed, 40 insertions(+), 31 deletions(-)
>>
>> diff --git a/platform/linux-generic/include/odp/plat/buffer_types.h 
>> b/platform/linux-generic/include/odp/plat/buffer_types.h
>> index 8601e61..3e7070e 100644
>> --- a/platform/linux-generic/include/odp/plat/buffer_types.h
>> +++ b/platform/linux-generic/include/odp/plat/buffer_types.h
>> @@ -18,6 +18,7 @@ extern "C" {
>>  #endif
>>  
>>  #include <odp/std_types.h>
>> +#include <odp/plat/strong_types.h>
>>  
>>  /** @addtogroup odp_buffer ODP BUFFER
>>   *  Operations on a buffer.
>> @@ -25,16 +26,22 @@ extern "C" {
>>   */
>>  
>>  /** ODP buffer */
>> -typedef uint32_t odp_buffer_t;
>> +typedef odp_handle_t odp_buffer_t;
>>  
>>  /** Invalid buffer */
>> -#define ODP_BUFFER_INVALID (0xffffffff)
>> +#define ODP_BUFFER_INVALID _odp_cast_scalar(odp_buffer_t, 0xffffffff)
>>  
>>  /** ODP buffer segment */
>> -typedef odp_buffer_t odp_buffer_seg_t;
>> +typedef odp_handle_t odp_buffer_seg_t;
>>  
>>  /** Invalid segment */
>> -#define ODP_SEGMENT_INVALID ODP_BUFFER_INVALID
>> +#define ODP_SEGMENT_INVALID ((odp_buffer_seg_t)ODP_BUFFER_INVALID)
>> +
>> +/** Get printable format of odp_buffer_t */
>> +static inline uint64_t odp_buffer_to_u64(odp_buffer_t hdl)
>> +{
>> +    return _odp_pri(hdl);
>> +}
> 
> The re-org has make it easier for the implementors of ODP.
> However, its a bit harder to follow the structure now maybe.
> 
> "static inline functions" should go into:
> platform/linux-generic/include/odp/*.h
> 
> and typedefs, defines, enums, and structs that are platform specific
> should go into:
> platform/linux-generic/include/odp/plat/*_types.h
> 
> doxygen clean API stuff should be in:
> include/odp/api/*.h
> 
> 
> So the "static inline functions" in this patch set are currently in the wrong
> place.
> 
> Taras, have I stated this correctly?

Yes, the idea was to have only types definitions and related macros in
*_types.h. So if another module needs odp_buffer_t handle definition
but not all buffer API functions it can include odp/plat/buffer_types.h
and be sure that this won't cause any cross dependencies.

But these specific functions are just type conversion, so IMO placing
them in *_types.h as an exception is fine.

-- 
Taras Kondratiuk

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to