aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org>2018-05-15 00:26:21 +0300
committerMaxim Uvarov <maxim.uvarov@linaro.org>2018-05-22 18:41:53 +0300
commita4d31373e5a0f72d028ff73ca9eae0fd6671f350 (patch)
tree15f5c7d44eebf3ee58c97469e01c70498db9d694
parent37390a88fd35d972a8e399fc934c612c1043ad77 (diff)
linux-gen: thread: remove separate API inlining header
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
-rw-r--r--platform/linux-generic/Makefile.am1
-rw-r--r--platform/linux-generic/include-abi/odp/api/abi/thread.h2
-rw-r--r--platform/linux-generic/include/odp/api/plat/thread_inlines.h16
-rw-r--r--platform/linux-generic/include/odp/api/plat/thread_inlines_api.h41
-rw-r--r--platform/linux-generic/odp_rwlock_recursive.c10
-rw-r--r--platform/linux-generic/odp_spinlock_recursive.c6
-rw-r--r--platform/linux-generic/odp_thread_api.c5
7 files changed, 23 insertions, 58 deletions
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am
index 373a1b104..033f38a53 100644
--- a/platform/linux-generic/Makefile.am
+++ b/platform/linux-generic/Makefile.am
@@ -37,7 +37,6 @@ odpapiplatinclude_HEADERS = \
include/odp/api/plat/strong_types.h \
include/odp/api/plat/sync_inlines.h \
include/odp/api/plat/thread_inlines.h \
- include/odp/api/plat/thread_inlines_api.h \
include/odp/api/plat/ticketlock_inlines.h
odpapiabiarchincludedir = $(archincludedir)/odp/api/abi
diff --git a/platform/linux-generic/include-abi/odp/api/abi/thread.h b/platform/linux-generic/include-abi/odp/api/abi/thread.h
index 8cd36bdac..d5628a740 100644
--- a/platform/linux-generic/include-abi/odp/api/abi/thread.h
+++ b/platform/linux-generic/include-abi/odp/api/abi/thread.h
@@ -6,6 +6,4 @@
#include <odp/api/abi-default/thread.h>
-#define _ODP_INLINE static inline
#include <odp/api/plat/thread_inlines.h>
-#include <odp/api/plat/thread_inlines_api.h>
diff --git a/platform/linux-generic/include/odp/api/plat/thread_inlines.h b/platform/linux-generic/include/odp/api/plat/thread_inlines.h
index deecc6533..ecab29e54 100644
--- a/platform/linux-generic/include/odp/api/plat/thread_inlines.h
+++ b/platform/linux-generic/include/odp/api/plat/thread_inlines.h
@@ -22,17 +22,27 @@ typedef struct {
extern __thread _odp_thread_state_t *_odp_this_thread;
-static inline int _odp_thread_id(void)
+#ifndef _ODP_NO_INLINE
+ /* Inline functions by default */
+ #define _ODP_INLINE static inline
+ #define odp_thread_id __odp_thread_id
+ #define odp_thread_type __odp_thread_type
+ #define odp_cpu_id __odp_cpu_id
+#else
+ #define _ODP_INLINE
+#endif
+
+_ODP_INLINE int odp_thread_id(void)
{
return _odp_this_thread->thr;
}
-static inline odp_thread_type_t _odp_thread_type(void)
+_ODP_INLINE odp_thread_type_t odp_thread_type(void)
{
return _odp_this_thread->type;
}
-static inline int _odp_cpu_id(void)
+_ODP_INLINE int odp_cpu_id(void)
{
return _odp_this_thread->cpu;
}
diff --git a/platform/linux-generic/include/odp/api/plat/thread_inlines_api.h b/platform/linux-generic/include/odp/api/plat/thread_inlines_api.h
deleted file mode 100644
index 08193e2b7..000000000
--- a/platform/linux-generic/include/odp/api/plat/thread_inlines_api.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright (c) 2018-2018, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-/**
- * @file
- */
-
-#ifndef ODP_PLAT_THREAD_INLINES_API_H_
-#define ODP_PLAT_THREAD_INLINES_API_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_ODP_INLINE int odp_thread_id(void)
-{
- return _odp_thread_id();
-}
-
-_ODP_INLINE odp_thread_type_t odp_thread_type(void)
-{
- return _odp_thread_type();
-}
-
-_ODP_INLINE int odp_cpu_id(void)
-{
- return _odp_cpu_id();
-}
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/odp_rwlock_recursive.c b/platform/linux-generic/odp_rwlock_recursive.c
index 397a054b7..dac9ad196 100644
--- a/platform/linux-generic/odp_rwlock_recursive.c
+++ b/platform/linux-generic/odp_rwlock_recursive.c
@@ -23,7 +23,7 @@ void odp_rwlock_recursive_init(odp_rwlock_recursive_t *rlock)
/* Multiple readers can recurse the lock concurrently */
void odp_rwlock_recursive_read_lock(odp_rwlock_recursive_t *rlock)
{
- int thr = _odp_thread_id();
+ int thr = odp_thread_id();
if (rlock->rd_cnt[thr]) {
rlock->rd_cnt[thr]++;
@@ -37,7 +37,7 @@ void odp_rwlock_recursive_read_lock(odp_rwlock_recursive_t *rlock)
/* Multiple readers can recurse the lock concurrently */
int odp_rwlock_recursive_read_trylock(odp_rwlock_recursive_t *rlock)
{
- int thr = _odp_thread_id();
+ int thr = odp_thread_id();
if (rlock->rd_cnt[thr]) {
rlock->rd_cnt[thr]++;
@@ -54,7 +54,7 @@ int odp_rwlock_recursive_read_trylock(odp_rwlock_recursive_t *rlock)
void odp_rwlock_recursive_read_unlock(odp_rwlock_recursive_t *rlock)
{
- int thr = _odp_thread_id();
+ int thr = odp_thread_id();
rlock->rd_cnt[thr]--;
@@ -67,7 +67,7 @@ void odp_rwlock_recursive_read_unlock(odp_rwlock_recursive_t *rlock)
/* Only one writer can recurse the lock */
void odp_rwlock_recursive_write_lock(odp_rwlock_recursive_t *rlock)
{
- int thr = _odp_thread_id();
+ int thr = odp_thread_id();
if (rlock->wr_owner == thr) {
rlock->wr_cnt++;
@@ -82,7 +82,7 @@ void odp_rwlock_recursive_write_lock(odp_rwlock_recursive_t *rlock)
/* Only one writer can recurse the lock */
int odp_rwlock_recursive_write_trylock(odp_rwlock_recursive_t *rlock)
{
- int thr = _odp_thread_id();
+ int thr = odp_thread_id();
if (rlock->wr_owner == thr) {
rlock->wr_cnt++;
diff --git a/platform/linux-generic/odp_spinlock_recursive.c b/platform/linux-generic/odp_spinlock_recursive.c
index d52889698..593742685 100644
--- a/platform/linux-generic/odp_spinlock_recursive.c
+++ b/platform/linux-generic/odp_spinlock_recursive.c
@@ -21,7 +21,7 @@ void odp_spinlock_recursive_init(odp_spinlock_recursive_t *rlock)
void odp_spinlock_recursive_lock(odp_spinlock_recursive_t *rlock)
{
- int thr = _odp_thread_id();
+ int thr = odp_thread_id();
if (rlock->owner == thr) {
rlock->cnt++;
@@ -35,7 +35,7 @@ void odp_spinlock_recursive_lock(odp_spinlock_recursive_t *rlock)
int odp_spinlock_recursive_trylock(odp_spinlock_recursive_t *rlock)
{
- int thr = _odp_thread_id();
+ int thr = odp_thread_id();
if (rlock->owner == thr) {
rlock->cnt++;
@@ -64,7 +64,7 @@ void odp_spinlock_recursive_unlock(odp_spinlock_recursive_t *rlock)
int odp_spinlock_recursive_is_locked(odp_spinlock_recursive_t *rlock)
{
- int thr = _odp_thread_id();
+ int thr = odp_thread_id();
if (rlock->owner == thr)
return 1;
diff --git a/platform/linux-generic/odp_thread_api.c b/platform/linux-generic/odp_thread_api.c
index 7f07f6a30..cfce705dd 100644
--- a/platform/linux-generic/odp_thread_api.c
+++ b/platform/linux-generic/odp_thread_api.c
@@ -8,8 +8,7 @@
#include <odp/api/thread.h>
#include <odp/api/cpu.h>
-#include <odp/api/plat/thread_inlines.h>
/* Include non-inlined versions of API functions */
-#define _ODP_INLINE
-#include <odp/api/plat/thread_inlines_api.h>
+#define _ODP_NO_INLINE
+#include <odp/api/plat/thread_inlines.h>