In the case of odp_buffer.h and odp_buffer_pool.h I'm not sure why it
wouldn't make sense to combine these into one file since they are so
closely related.

We have APIs in odp_buffer.h that take odp_buffer_pool_t arguments (e.g.,
odp_buffer_copy) and return odp_buffer_pool_t results (odp_buffer_pool(),
though today we avoid the circularity by putting this *buffer* accessor
function into odp_buffer_pool.h).   We also have APIs in odp_buffer_pool.h
that similarly take odp_buffer_t arguments (odp_buffer_free()) and return
odp_buffer_t values (odp_buffer_alloc()).

It seems that it would make more sense to have a single file for these
related routines rather than separate files as another way of avoiding
circularity.  I suggest dropping odp_buffer_pool.h and just having
odp_buffer.h cover all of these (similar to how the Buffer Management
design doc covers both).

Bill

On Sat, Nov 1, 2014 at 2:47 AM, Bala Manoharan <bala.manoha...@linaro.org>
wrote:

> Hi,
>
> In the Current ODP design, we are having the typedef for different handles
> defined in the same header file.
> This causes a circular dependency between odp_buffer.h and
> odp_buffer_pool.h file as the buffer API uses pool handle and pool API uses
> buffer Handle.
> We would like to avoid this circular dependency by having all the handles
> defined in a separate file odp_typedefs.h file.
> The application user will not have any impact as the application includes
> odp.h file.
>
> Regards,
> Bala
>
> On 31 October 2014 19:08, Mike Holmes <mike.hol...@linaro.org> wrote:
>
>> Bala
>>
>> What exactly was the problem we were solving ?  I forget why we needed
>> this.
>>
>> Mike
>>
>> On 31 October 2014 08:05, Bill Fischofer <bill.fischo...@linaro.org>
>> wrote:
>>
>>> Adding the ODP mailing list since this should be a topic of general
>>> interest.
>>>
>>> Now that we have separate repositories for each implementation what we'd
>>> ideally like is the following.
>>>
>>>    - The API definitions are in .h files in odp.git.  These are the
>>>    function prototypes for all of the public ODP APIs. They reference 
>>> typedefs
>>>    for ODP APIs but do not define them.
>>>
>>>
>>>    - Each platform has an odp_api_typedefs.h that defines these
>>>    typedefs for that platform.
>>>
>>>
>>>    - What applications #include is a file (odp.h) that includes the
>>>    platform-specific odp_api_typedefs.h and the ODP APIs so they compile 
>>> with
>>>    a version of the prototypes typedef'd appropriate to the platform
>>>
>>> Is there a clean way to achieve this and still permit efficient inlining?
>>>
>>>
>>>
>>> On Fri, Oct 31, 2014 at 2:08 AM, Bala Manoharan <
>>> bala.manoha...@linaro.org> wrote:
>>>
>>>> Hi Anders,
>>>>
>>>> Yesterday in Scheduler meeting we had a discussion regarding moving
>>>> "typedefs" in ODP API files into a separate file.
>>>>
>>>> Taras mentioned that you had previously spent some time on the same.
>>>> Can you please update if you have some patch regarding the same.
>>>>
>>>> Regards,
>>>> Bala
>>>>
>>>
>>>
>>
>>
>> --
>> *Mike Holmes*
>> Linaro  Sr Technical Manager
>> LNG - ODP
>>
>
>
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to