diff options
author | Petri Savolainen <petri.savolainen@linaro.org> | 2017-02-08 14:17:33 +0200 |
---|---|---|
committer | muvarov <muvarov@gmail.com> | 2017-02-26 22:44:08 +0300 |
commit | 4960e04aff0c21b3213eba480cf7ca38578e0839 (patch) | |
tree | 9cf18ccc47c37a83321c2aa527a64f46e948b9d8 /platform/linux-generic/include/odp/api/plat | |
parent | 61902866c68f794a7f92cdf97a475d09d263b621 (diff) |
linux-gen: ticketlock: inline also in application
Enable ticketlock function inlining in applications when
not building for ABI compatibility.
Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org>
Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform/linux-generic/include/odp/api/plat')
-rw-r--r-- | platform/linux-generic/include/odp/api/plat/ticketlock_inlines.h | 19 | ||||
-rw-r--r-- | platform/linux-generic/include/odp/api/plat/ticketlock_inlines_api.h | 36 |
2 files changed, 54 insertions, 1 deletions
diff --git a/platform/linux-generic/include/odp/api/plat/ticketlock_inlines.h b/platform/linux-generic/include/odp/api/plat/ticketlock_inlines.h index 87432a712..ecbea7c4d 100644 --- a/platform/linux-generic/include/odp/api/plat/ticketlock_inlines.h +++ b/platform/linux-generic/include/odp/api/plat/ticketlock_inlines.h @@ -13,11 +13,12 @@ #ifndef _ODP_PLAT_TICKETLOCK_INLINES_H_ #define _ODP_PLAT_TICKETLOCK_INLINES_H_ -#include <odp/api/ticketlock.h> #include <odp/api/atomic.h> #include <odp/api/sync.h> #include <odp/api/cpu.h> +#include <odp/api/plat/ticketlock_types.h> + /** @internal * Acquire ticket lock. * @@ -110,4 +111,20 @@ static inline int _odp_ticketlock_is_locked(odp_ticketlock_t *ticketlock) odp_atomic_load_u32(&ticketlock->next_ticket); } +/* Include inlined versions of API functions */ +#include <odp/api/plat/static_inline.h> +#if ODP_ABI_COMPAT == 0 + +/** @ingroup odp_locks + * @{ + */ + +#include <odp/api/plat/ticketlock_inlines_api.h> + +/** + * @} + */ + +#endif + #endif diff --git a/platform/linux-generic/include/odp/api/plat/ticketlock_inlines_api.h b/platform/linux-generic/include/odp/api/plat/ticketlock_inlines_api.h new file mode 100644 index 000000000..5efe696ff --- /dev/null +++ b/platform/linux-generic/include/odp/api/plat/ticketlock_inlines_api.h @@ -0,0 +1,36 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * Ticketlock inline functions + */ + +#ifndef _ODP_PLAT_TICKETLOCK_INLINES_API_H_ +#define _ODP_PLAT_TICKETLOCK_INLINES_API_H_ + +_ODP_INLINE void odp_ticketlock_lock(odp_ticketlock_t *lock) +{ + return _odp_ticketlock_lock(lock); +} + +_ODP_INLINE int odp_ticketlock_trylock(odp_ticketlock_t *lock) +{ + return _odp_ticketlock_trylock(lock); +} + +_ODP_INLINE void odp_ticketlock_unlock(odp_ticketlock_t *lock) +{ + _odp_ticketlock_unlock(lock); +} + +_ODP_INLINE int odp_ticketlock_is_locked(odp_ticketlock_t *lock) +{ + return _odp_ticketlock_is_locked(lock); +} + +#endif |