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