Message ID | 1422903176-13535-1-git-send-email-ola.liljedahl@linaro.org |
---|---|
State | Accepted |
Commit | 18564de6fffd86fd28a7e58c688ba468d2131ec1 |
Headers | show |
We should consider making these strong types to be consistent with the rest of the ODP types. In linux-generic to do that you'd just change the current uint32_t typedefs to: typedef odp_handle_t odp_timer_t; typedef odp_handle_t odp_timeout_t; If there is a need to display odp_timer_t and odp_timeout_t handles then the odp_timer_to_u64() and odp_timeout_to_u64() conversion functions should be added. I would recommend deferring those APIs until ODP v1.1 as it's not used and the need is not urgent. Making these strong will probably require a bit of tweaking in the implementation to make use of _odp_typeval() as needed. See the other types as models. Note that odp_timer_pool_t is already strongly typed with the above definition and needs no change, but it too should have an odp_timer_pool_to_u64() converter function for completeness. Bill On Mon, Feb 2, 2015 at 12:52 PM, Ola Liljedahl <ola.liljedahl@linaro.org> wrote: > Move the platform specific definitions for timer pool, timer and timeout to > the platform's include/odp/plat/timer_types.h file. > > Signed-off-by: Ola Liljedahl <ola.liljedahl@linaro.org> > --- > (This document/code contribution attached is provided under the terms of > agreement LES-LTM-21309) > > include/odp/api/timer.h | 32 +++++++-------- > .../linux-generic/include/odp/plat/timer_types.h | 48 > ++++++++++++++++++++++ > platform/linux-generic/include/odp/timer.h | 1 + > 3 files changed, 64 insertions(+), 17 deletions(-) > create mode 100644 platform/linux-generic/include/odp/plat/timer_types.h > > diff --git a/include/odp/api/timer.h b/include/odp/api/timer.h > index 1b813da..b5435c3 100644 > --- a/include/odp/api/timer.h > +++ b/include/odp/api/timer.h > @@ -22,17 +22,15 @@ extern "C" { > * @{ > */ > > -struct odp_timer_pool_s; /**< Forward declaration */ > - > /** > -* ODP timer pool handle (platform dependent) > -*/ > -typedef struct odp_timer_pool_s *odp_timer_pool_t; > + * @typedef odp_timer_pool_t > + * ODP timer pool handle > + */ > > /** > - * Invalid timer pool handle (platform dependent). > + * @def ODP_TIMER_POOL_INVALID > + * Invalid timer pool handle > */ > -#define ODP_TIMER_POOL_INVALID NULL > > /** > * Clock sources for timers in timer pool. > @@ -46,24 +44,24 @@ typedef enum { > } odp_timer_clk_src_t; > > /** > -* ODP timer handle (platform dependent). > -*/ > -typedef uint32_t odp_timer_t; > + * @typedef odp_timer_t > + * ODP timer handle > + */ > > /** > -* ODP timeout handle (platform dependent). > -*/ > -typedef void *odp_timeout_t; > + * @def ODP_TIMER_INVALID > + * Invalid timer handle > + */ > > /** > - * Invalid timer handle (platform dependent). > + * @typedef odp_timeout_t > + * ODP timeout handle > */ > -#define ODP_TIMER_INVALID ((uint32_t)~0U) > > /** > - * Invalid timeout handle (platform dependent). > + * @def ODP_TIMEOUT_INVALID > + * Invalid timeout handle > */ > -#define ODP_TIMEOUT_INVALID NULL > > /** > * Return values of timer set calls. > diff --git a/platform/linux-generic/include/odp/plat/timer_types.h > b/platform/linux-generic/include/odp/plat/timer_types.h > new file mode 100644 > index 0000000..c21a667 > --- /dev/null > +++ b/platform/linux-generic/include/odp/plat/timer_types.h > @@ -0,0 +1,48 @@ > +/* Copyright (c) 2013, Linaro Limited > + * All rights reserved. > + * > + * SPDX-License-Identifier: BSD-3-Clause > + */ > + > + > +/** > + * @file > + * > + * ODP timer service > + */ > + > +#ifndef ODP_TIMER_TYPES_H_ > +#define ODP_TIMER_TYPES_H_ > + > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +/** @addtogroup odp_packet ODP TIMER > + * Operations on a timer. > + * @{ > + **/ > + > +struct odp_timer_pool_s; /**< Forward declaration */ > + > +typedef struct odp_timer_pool_s *odp_timer_pool_t; > + > +#define ODP_TIMER_POOL_INVALID NULL > + > +typedef uint32_t odp_timer_t; > + > +#define ODP_TIMER_INVALID ((uint32_t)~0U) > + > +typedef void *odp_timeout_t; > + > +#define ODP_TIMEOUT_INVALID NULL > + > +/** > + * @} > + */ > + > +#ifdef __cplusplus > +} > +#endif > + > +#endif > diff --git a/platform/linux-generic/include/odp/timer.h > b/platform/linux-generic/include/odp/timer.h > index df071f2..eb9a3a2 100644 > --- a/platform/linux-generic/include/odp/timer.h > +++ b/platform/linux-generic/include/odp/timer.h > @@ -22,6 +22,7 @@ extern "C" { > #include <odp/plat/buffer_types.h> > #include <odp/plat/pool_types.h> > #include <odp/plat/queue_types.h> > +#include <odp/plat/timer_types.h> > > /** @ingroup odp_timer > * @{ > -- > 1.9.1 > > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/lng-odp >
On 3 February 2015 at 18:04, Bill Fischofer <bill.fischofer@linaro.org> wrote: > We should consider making these strong types to be consistent with the rest > of the ODP types. In linux-generic to do that you'd just change the current > uint32_t typedefs to: I agree. I'll post a patch as soon as the strong typing patches have been merged. You could consider it a bug that the timer types are not included there/ > > typedef odp_handle_t odp_timer_t; > typedef odp_handle_t odp_timeout_t; > > If there is a need to display odp_timer_t and odp_timeout_t handles then the > odp_timer_to_u64() and odp_timeout_to_u64() conversion functions should be > added. I would recommend deferring those APIs until ODP v1.1 as it's not > used and the need is not urgent. Making these strong will probably require > a bit of tweaking in the implementation to make use of _odp_typeval() as > needed. See the other types as models. > > Note that odp_timer_pool_t is already strongly typed with the above > definition and needs no change, but it too should have an > odp_timer_pool_to_u64() converter function for completeness. > > Bill > > On Mon, Feb 2, 2015 at 12:52 PM, Ola Liljedahl <ola.liljedahl@linaro.org> > wrote: >> >> Move the platform specific definitions for timer pool, timer and timeout >> to >> the platform's include/odp/plat/timer_types.h file. >> >> Signed-off-by: Ola Liljedahl <ola.liljedahl@linaro.org> >> --- >> (This document/code contribution attached is provided under the terms of >> agreement LES-LTM-21309) >> >> include/odp/api/timer.h | 32 +++++++-------- >> .../linux-generic/include/odp/plat/timer_types.h | 48 >> ++++++++++++++++++++++ >> platform/linux-generic/include/odp/timer.h | 1 + >> 3 files changed, 64 insertions(+), 17 deletions(-) >> create mode 100644 platform/linux-generic/include/odp/plat/timer_types.h >> >> diff --git a/include/odp/api/timer.h b/include/odp/api/timer.h >> index 1b813da..b5435c3 100644 >> --- a/include/odp/api/timer.h >> +++ b/include/odp/api/timer.h >> @@ -22,17 +22,15 @@ extern "C" { >> * @{ >> */ >> >> -struct odp_timer_pool_s; /**< Forward declaration */ >> - >> /** >> -* ODP timer pool handle (platform dependent) >> -*/ >> -typedef struct odp_timer_pool_s *odp_timer_pool_t; >> + * @typedef odp_timer_pool_t >> + * ODP timer pool handle >> + */ >> >> /** >> - * Invalid timer pool handle (platform dependent). >> + * @def ODP_TIMER_POOL_INVALID >> + * Invalid timer pool handle >> */ >> -#define ODP_TIMER_POOL_INVALID NULL >> >> /** >> * Clock sources for timers in timer pool. >> @@ -46,24 +44,24 @@ typedef enum { >> } odp_timer_clk_src_t; >> >> /** >> -* ODP timer handle (platform dependent). >> -*/ >> -typedef uint32_t odp_timer_t; >> + * @typedef odp_timer_t >> + * ODP timer handle >> + */ >> >> /** >> -* ODP timeout handle (platform dependent). >> -*/ >> -typedef void *odp_timeout_t; >> + * @def ODP_TIMER_INVALID >> + * Invalid timer handle >> + */ >> >> /** >> - * Invalid timer handle (platform dependent). >> + * @typedef odp_timeout_t >> + * ODP timeout handle >> */ >> -#define ODP_TIMER_INVALID ((uint32_t)~0U) >> >> /** >> - * Invalid timeout handle (platform dependent). >> + * @def ODP_TIMEOUT_INVALID >> + * Invalid timeout handle >> */ >> -#define ODP_TIMEOUT_INVALID NULL >> >> /** >> * Return values of timer set calls. >> diff --git a/platform/linux-generic/include/odp/plat/timer_types.h >> b/platform/linux-generic/include/odp/plat/timer_types.h >> new file mode 100644 >> index 0000000..c21a667 >> --- /dev/null >> +++ b/platform/linux-generic/include/odp/plat/timer_types.h >> @@ -0,0 +1,48 @@ >> +/* Copyright (c) 2013, Linaro Limited >> + * All rights reserved. >> + * >> + * SPDX-License-Identifier: BSD-3-Clause >> + */ >> + >> + >> +/** >> + * @file >> + * >> + * ODP timer service >> + */ >> + >> +#ifndef ODP_TIMER_TYPES_H_ >> +#define ODP_TIMER_TYPES_H_ >> + >> +#ifdef __cplusplus >> +extern "C" { >> +#endif >> + >> +/** @addtogroup odp_packet ODP TIMER >> + * Operations on a timer. >> + * @{ >> + **/ >> + >> +struct odp_timer_pool_s; /**< Forward declaration */ >> + >> +typedef struct odp_timer_pool_s *odp_timer_pool_t; >> + >> +#define ODP_TIMER_POOL_INVALID NULL >> + >> +typedef uint32_t odp_timer_t; >> + >> +#define ODP_TIMER_INVALID ((uint32_t)~0U) >> + >> +typedef void *odp_timeout_t; >> + >> +#define ODP_TIMEOUT_INVALID NULL >> + >> +/** >> + * @} >> + */ >> + >> +#ifdef __cplusplus >> +} >> +#endif >> + >> +#endif >> diff --git a/platform/linux-generic/include/odp/timer.h >> b/platform/linux-generic/include/odp/timer.h >> index df071f2..eb9a3a2 100644 >> --- a/platform/linux-generic/include/odp/timer.h >> +++ b/platform/linux-generic/include/odp/timer.h >> @@ -22,6 +22,7 @@ extern "C" { >> #include <odp/plat/buffer_types.h> >> #include <odp/plat/pool_types.h> >> #include <odp/plat/queue_types.h> >> +#include <odp/plat/timer_types.h> >> >> /** @ingroup odp_timer >> * @{ >> -- >> 1.9.1 >> >> >> _______________________________________________ >> lng-odp mailing list >> lng-odp@lists.linaro.org >> http://lists.linaro.org/mailman/listinfo/lng-odp > >
Ping!?! On 2 February 2015 at 19:52, Ola Liljedahl <ola.liljedahl@linaro.org> wrote: > Move the platform specific definitions for timer pool, timer and timeout to > the platform's include/odp/plat/timer_types.h file. > > Signed-off-by: Ola Liljedahl <ola.liljedahl@linaro.org> > --- > (This document/code contribution attached is provided under the terms of > agreement LES-LTM-21309) > > include/odp/api/timer.h | 32 +++++++-------- > .../linux-generic/include/odp/plat/timer_types.h | 48 ++++++++++++++++++++++ > platform/linux-generic/include/odp/timer.h | 1 + > 3 files changed, 64 insertions(+), 17 deletions(-) > create mode 100644 platform/linux-generic/include/odp/plat/timer_types.h > > diff --git a/include/odp/api/timer.h b/include/odp/api/timer.h > index 1b813da..b5435c3 100644 > --- a/include/odp/api/timer.h > +++ b/include/odp/api/timer.h > @@ -22,17 +22,15 @@ extern "C" { > * @{ > */ > > -struct odp_timer_pool_s; /**< Forward declaration */ > - > /** > -* ODP timer pool handle (platform dependent) > -*/ > -typedef struct odp_timer_pool_s *odp_timer_pool_t; > + * @typedef odp_timer_pool_t > + * ODP timer pool handle > + */ > > /** > - * Invalid timer pool handle (platform dependent). > + * @def ODP_TIMER_POOL_INVALID > + * Invalid timer pool handle > */ > -#define ODP_TIMER_POOL_INVALID NULL > > /** > * Clock sources for timers in timer pool. > @@ -46,24 +44,24 @@ typedef enum { > } odp_timer_clk_src_t; > > /** > -* ODP timer handle (platform dependent). > -*/ > -typedef uint32_t odp_timer_t; > + * @typedef odp_timer_t > + * ODP timer handle > + */ > > /** > -* ODP timeout handle (platform dependent). > -*/ > -typedef void *odp_timeout_t; > + * @def ODP_TIMER_INVALID > + * Invalid timer handle > + */ > > /** > - * Invalid timer handle (platform dependent). > + * @typedef odp_timeout_t > + * ODP timeout handle > */ > -#define ODP_TIMER_INVALID ((uint32_t)~0U) > > /** > - * Invalid timeout handle (platform dependent). > + * @def ODP_TIMEOUT_INVALID > + * Invalid timeout handle > */ > -#define ODP_TIMEOUT_INVALID NULL > > /** > * Return values of timer set calls. > diff --git a/platform/linux-generic/include/odp/plat/timer_types.h b/platform/linux-generic/include/odp/plat/timer_types.h > new file mode 100644 > index 0000000..c21a667 > --- /dev/null > +++ b/platform/linux-generic/include/odp/plat/timer_types.h > @@ -0,0 +1,48 @@ > +/* Copyright (c) 2013, Linaro Limited > + * All rights reserved. > + * > + * SPDX-License-Identifier: BSD-3-Clause > + */ > + > + > +/** > + * @file > + * > + * ODP timer service > + */ > + > +#ifndef ODP_TIMER_TYPES_H_ > +#define ODP_TIMER_TYPES_H_ > + > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +/** @addtogroup odp_packet ODP TIMER > + * Operations on a timer. > + * @{ > + **/ > + > +struct odp_timer_pool_s; /**< Forward declaration */ > + > +typedef struct odp_timer_pool_s *odp_timer_pool_t; > + > +#define ODP_TIMER_POOL_INVALID NULL > + > +typedef uint32_t odp_timer_t; > + > +#define ODP_TIMER_INVALID ((uint32_t)~0U) > + > +typedef void *odp_timeout_t; > + > +#define ODP_TIMEOUT_INVALID NULL > + > +/** > + * @} > + */ > + > +#ifdef __cplusplus > +} > +#endif > + > +#endif > diff --git a/platform/linux-generic/include/odp/timer.h b/platform/linux-generic/include/odp/timer.h > index df071f2..eb9a3a2 100644 > --- a/platform/linux-generic/include/odp/timer.h > +++ b/platform/linux-generic/include/odp/timer.h > @@ -22,6 +22,7 @@ extern "C" { > #include <odp/plat/buffer_types.h> > #include <odp/plat/pool_types.h> > #include <odp/plat/queue_types.h> > +#include <odp/plat/timer_types.h> > > /** @ingroup odp_timer > * @{ > -- > 1.9.1 >
On Thu, Feb 5, 2015 at 9:07 AM, Ola Liljedahl <ola.liljedahl@linaro.org> wrote: > Ping!?! > > On 2 February 2015 at 19:52, Ola Liljedahl <ola.liljedahl@linaro.org> > wrote: > > Move the platform specific definitions for timer pool, timer and timeout > to > > the platform's include/odp/plat/timer_types.h file. > > > > Signed-off-by: Ola Liljedahl <ola.liljedahl@linaro.org> > Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> > > --- > > (This document/code contribution attached is provided under the terms of > > agreement LES-LTM-21309) > > > > include/odp/api/timer.h | 32 +++++++-------- > > .../linux-generic/include/odp/plat/timer_types.h | 48 > ++++++++++++++++++++++ > > platform/linux-generic/include/odp/timer.h | 1 + > > 3 files changed, 64 insertions(+), 17 deletions(-) > > create mode 100644 platform/linux-generic/include/odp/plat/timer_types.h > > > > diff --git a/include/odp/api/timer.h b/include/odp/api/timer.h > > index 1b813da..b5435c3 100644 > > --- a/include/odp/api/timer.h > > +++ b/include/odp/api/timer.h > > @@ -22,17 +22,15 @@ extern "C" { > > * @{ > > */ > > > > -struct odp_timer_pool_s; /**< Forward declaration */ > > - > > /** > > -* ODP timer pool handle (platform dependent) > > -*/ > > -typedef struct odp_timer_pool_s *odp_timer_pool_t; > > + * @typedef odp_timer_pool_t > > + * ODP timer pool handle > > + */ > > > > /** > > - * Invalid timer pool handle (platform dependent). > > + * @def ODP_TIMER_POOL_INVALID > > + * Invalid timer pool handle > > */ > > -#define ODP_TIMER_POOL_INVALID NULL > > > > /** > > * Clock sources for timers in timer pool. > > @@ -46,24 +44,24 @@ typedef enum { > > } odp_timer_clk_src_t; > > > > /** > > -* ODP timer handle (platform dependent). > > -*/ > > -typedef uint32_t odp_timer_t; > > + * @typedef odp_timer_t > > + * ODP timer handle > > + */ > > > > /** > > -* ODP timeout handle (platform dependent). > > -*/ > > -typedef void *odp_timeout_t; > > + * @def ODP_TIMER_INVALID > > + * Invalid timer handle > > + */ > > > > /** > > - * Invalid timer handle (platform dependent). > > + * @typedef odp_timeout_t > > + * ODP timeout handle > > */ > > -#define ODP_TIMER_INVALID ((uint32_t)~0U) > > > > /** > > - * Invalid timeout handle (platform dependent). > > + * @def ODP_TIMEOUT_INVALID > > + * Invalid timeout handle > > */ > > -#define ODP_TIMEOUT_INVALID NULL > > > > /** > > * Return values of timer set calls. > > diff --git a/platform/linux-generic/include/odp/plat/timer_types.h > b/platform/linux-generic/include/odp/plat/timer_types.h > > new file mode 100644 > > index 0000000..c21a667 > > --- /dev/null > > +++ b/platform/linux-generic/include/odp/plat/timer_types.h > > @@ -0,0 +1,48 @@ > > +/* Copyright (c) 2013, Linaro Limited > > + * All rights reserved. > > + * > > + * SPDX-License-Identifier: BSD-3-Clause > > + */ > > + > > + > > +/** > > + * @file > > + * > > + * ODP timer service > > + */ > > + > > +#ifndef ODP_TIMER_TYPES_H_ > > +#define ODP_TIMER_TYPES_H_ > > + > > +#ifdef __cplusplus > > +extern "C" { > > +#endif > > + > > +/** @addtogroup odp_packet ODP TIMER > > + * Operations on a timer. > > + * @{ > > + **/ > > + > > +struct odp_timer_pool_s; /**< Forward declaration */ > > + > > +typedef struct odp_timer_pool_s *odp_timer_pool_t; > > + > > +#define ODP_TIMER_POOL_INVALID NULL > > + > > +typedef uint32_t odp_timer_t; > > + > > +#define ODP_TIMER_INVALID ((uint32_t)~0U) > > + > > +typedef void *odp_timeout_t; > > + > > +#define ODP_TIMEOUT_INVALID NULL > > + > > +/** > > + * @} > > + */ > > + > > +#ifdef __cplusplus > > +} > > +#endif > > + > > +#endif > > diff --git a/platform/linux-generic/include/odp/timer.h > b/platform/linux-generic/include/odp/timer.h > > index df071f2..eb9a3a2 100644 > > --- a/platform/linux-generic/include/odp/timer.h > > +++ b/platform/linux-generic/include/odp/timer.h > > @@ -22,6 +22,7 @@ extern "C" { > > #include <odp/plat/buffer_types.h> > > #include <odp/plat/pool_types.h> > > #include <odp/plat/queue_types.h> > > +#include <odp/plat/timer_types.h> > > > > /** @ingroup odp_timer > > * @{ > > -- > > 1.9.1 > > > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/lng-odp >
Merged, Maxim. On 02/05/2015 06:10 PM, Bill Fischofer wrote: > > > On Thu, Feb 5, 2015 at 9:07 AM, Ola Liljedahl > <ola.liljedahl@linaro.org <mailto:ola.liljedahl@linaro.org>> wrote: > > Ping!?! > > On 2 February 2015 at 19:52, Ola Liljedahl > <ola.liljedahl@linaro.org <mailto:ola.liljedahl@linaro.org>> wrote: > > Move the platform specific definitions for timer pool, timer and > timeout to > > the platform's include/odp/plat/timer_types.h file. > > > > Signed-off-by: Ola Liljedahl <ola.liljedahl@linaro.org > <mailto:ola.liljedahl@linaro.org>> > > > Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org > <mailto:bill.fischofer@linaro.org>> > > > --- > > (This document/code contribution attached is provided under the > terms of > > agreement LES-LTM-21309) > > > > include/odp/api/timer.h | 32 +++++++-------- > > .../linux-generic/include/odp/plat/timer_types.h | 48 > ++++++++++++++++++++++ > > platform/linux-generic/include/odp/timer.h | 1 + > > 3 files changed, 64 insertions(+), 17 deletions(-) > > create mode 100644 > platform/linux-generic/include/odp/plat/timer_types.h > > > > diff --git a/include/odp/api/timer.h b/include/odp/api/timer.h > > index 1b813da..b5435c3 100644 > > --- a/include/odp/api/timer.h > > +++ b/include/odp/api/timer.h > > @@ -22,17 +22,15 @@ extern "C" { > > * @{ > > */ > > > > -struct odp_timer_pool_s; /**< Forward declaration */ > > - > > /** > > -* ODP timer pool handle (platform dependent) > > -*/ > > -typedef struct odp_timer_pool_s *odp_timer_pool_t; > > + * @typedef odp_timer_pool_t > > + * ODP timer pool handle > > + */ > > > > /** > > - * Invalid timer pool handle (platform dependent). > > + * @def ODP_TIMER_POOL_INVALID > > + * Invalid timer pool handle > > */ > > -#define ODP_TIMER_POOL_INVALID NULL > > > > /** > > * Clock sources for timers in timer pool. > > @@ -46,24 +44,24 @@ typedef enum { > > } odp_timer_clk_src_t; > > > > /** > > -* ODP timer handle (platform dependent). > > -*/ > > -typedef uint32_t odp_timer_t; > > + * @typedef odp_timer_t > > + * ODP timer handle > > + */ > > > > /** > > -* ODP timeout handle (platform dependent). > > -*/ > > -typedef void *odp_timeout_t; > > + * @def ODP_TIMER_INVALID > > + * Invalid timer handle > > + */ > > > > /** > > - * Invalid timer handle (platform dependent). > > + * @typedef odp_timeout_t > > + * ODP timeout handle > > */ > > -#define ODP_TIMER_INVALID ((uint32_t)~0U) > > > > /** > > - * Invalid timeout handle (platform dependent). > > + * @def ODP_TIMEOUT_INVALID > > + * Invalid timeout handle > > */ > > -#define ODP_TIMEOUT_INVALID NULL > > > > /** > > * Return values of timer set calls. > > diff --git > a/platform/linux-generic/include/odp/plat/timer_types.h > b/platform/linux-generic/include/odp/plat/timer_types.h > > new file mode 100644 > > index 0000000..c21a667 > > --- /dev/null > > +++ b/platform/linux-generic/include/odp/plat/timer_types.h > > @@ -0,0 +1,48 @@ > > +/* Copyright (c) 2013, Linaro Limited > > + * All rights reserved. > > + * > > + * SPDX-License-Identifier: BSD-3-Clause > > + */ > > + > > + > > +/** > > + * @file > > + * > > + * ODP timer service > > + */ > > + > > +#ifndef ODP_TIMER_TYPES_H_ > > +#define ODP_TIMER_TYPES_H_ > > + > > +#ifdef __cplusplus > > +extern "C" { > > +#endif > > + > > +/** @addtogroup odp_packet ODP TIMER > > + * Operations on a timer. > > + * @{ > > + **/ > > + > > +struct odp_timer_pool_s; /**< Forward declaration */ > > + > > +typedef struct odp_timer_pool_s *odp_timer_pool_t; > > + > > +#define ODP_TIMER_POOL_INVALID NULL > > + > > +typedef uint32_t odp_timer_t; > > + > > +#define ODP_TIMER_INVALID ((uint32_t)~0U) > > + > > +typedef void *odp_timeout_t; > > + > > +#define ODP_TIMEOUT_INVALID NULL > > + > > +/** > > + * @} > > + */ > > + > > +#ifdef __cplusplus > > +} > > +#endif > > + > > +#endif > > diff --git a/platform/linux-generic/include/odp/timer.h > b/platform/linux-generic/include/odp/timer.h > > index df071f2..eb9a3a2 100644 > > --- a/platform/linux-generic/include/odp/timer.h > > +++ b/platform/linux-generic/include/odp/timer.h > > @@ -22,6 +22,7 @@ extern "C" { > > #include <odp/plat/buffer_types.h> > > #include <odp/plat/pool_types.h> > > #include <odp/plat/queue_types.h> > > +#include <odp/plat/timer_types.h> > > > > /** @ingroup odp_timer > > * @{ > > -- > > 1.9.1 > > > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org> > http://lists.linaro.org/mailman/listinfo/lng-odp > > > > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/lng-odp
diff --git a/include/odp/api/timer.h b/include/odp/api/timer.h index 1b813da..b5435c3 100644 --- a/include/odp/api/timer.h +++ b/include/odp/api/timer.h @@ -22,17 +22,15 @@ extern "C" { * @{ */ -struct odp_timer_pool_s; /**< Forward declaration */ - /** -* ODP timer pool handle (platform dependent) -*/ -typedef struct odp_timer_pool_s *odp_timer_pool_t; + * @typedef odp_timer_pool_t + * ODP timer pool handle + */ /** - * Invalid timer pool handle (platform dependent). + * @def ODP_TIMER_POOL_INVALID + * Invalid timer pool handle */ -#define ODP_TIMER_POOL_INVALID NULL /** * Clock sources for timers in timer pool. @@ -46,24 +44,24 @@ typedef enum { } odp_timer_clk_src_t; /** -* ODP timer handle (platform dependent). -*/ -typedef uint32_t odp_timer_t; + * @typedef odp_timer_t + * ODP timer handle + */ /** -* ODP timeout handle (platform dependent). -*/ -typedef void *odp_timeout_t; + * @def ODP_TIMER_INVALID + * Invalid timer handle + */ /** - * Invalid timer handle (platform dependent). + * @typedef odp_timeout_t + * ODP timeout handle */ -#define ODP_TIMER_INVALID ((uint32_t)~0U) /** - * Invalid timeout handle (platform dependent). + * @def ODP_TIMEOUT_INVALID + * Invalid timeout handle */ -#define ODP_TIMEOUT_INVALID NULL /** * Return values of timer set calls. diff --git a/platform/linux-generic/include/odp/plat/timer_types.h b/platform/linux-generic/include/odp/plat/timer_types.h new file mode 100644 index 0000000..c21a667 --- /dev/null +++ b/platform/linux-generic/include/odp/plat/timer_types.h @@ -0,0 +1,48 @@ +/* Copyright (c) 2013, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +/** + * @file + * + * ODP timer service + */ + +#ifndef ODP_TIMER_TYPES_H_ +#define ODP_TIMER_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/** @addtogroup odp_packet ODP TIMER + * Operations on a timer. + * @{ + **/ + +struct odp_timer_pool_s; /**< Forward declaration */ + +typedef struct odp_timer_pool_s *odp_timer_pool_t; + +#define ODP_TIMER_POOL_INVALID NULL + +typedef uint32_t odp_timer_t; + +#define ODP_TIMER_INVALID ((uint32_t)~0U) + +typedef void *odp_timeout_t; + +#define ODP_TIMEOUT_INVALID NULL + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include/odp/timer.h b/platform/linux-generic/include/odp/timer.h index df071f2..eb9a3a2 100644 --- a/platform/linux-generic/include/odp/timer.h +++ b/platform/linux-generic/include/odp/timer.h @@ -22,6 +22,7 @@ extern "C" { #include <odp/plat/buffer_types.h> #include <odp/plat/pool_types.h> #include <odp/plat/queue_types.h> +#include <odp/plat/timer_types.h> /** @ingroup odp_timer * @{
Move the platform specific definitions for timer pool, timer and timeout to the platform's include/odp/plat/timer_types.h file. Signed-off-by: Ola Liljedahl <ola.liljedahl@linaro.org> --- (This document/code contribution attached is provided under the terms of agreement LES-LTM-21309) include/odp/api/timer.h | 32 +++++++-------- .../linux-generic/include/odp/plat/timer_types.h | 48 ++++++++++++++++++++++ platform/linux-generic/include/odp/timer.h | 1 + 3 files changed, 64 insertions(+), 17 deletions(-) create mode 100644 platform/linux-generic/include/odp/plat/timer_types.h