aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/odp/api/spinlock.h10
-rw-r--r--platform/linux-generic/Makefile.am1
-rw-r--r--platform/linux-generic/include/odp/plat/spinlock_types.h46
-rw-r--r--platform/linux-generic/include/odp/spinlock.h2
4 files changed, 51 insertions, 8 deletions
diff --git a/include/odp/api/spinlock.h b/include/odp/api/spinlock.h
index 5cde1230d..9a5a9290a 100644
--- a/include/odp/api/spinlock.h
+++ b/include/odp/api/spinlock.h
@@ -18,21 +18,15 @@
extern "C" {
#endif
-
-#include <odp/std_types.h>
-
/** @addtogroup odp_synchronizers
* Operations on spin locks.
* @{
*/
/**
- * ODP spinlock type
+ * @typedef odp_spinlock_t
+ * ODP spinlock
*/
-typedef struct odp_spinlock_t {
- char lock; /**< @private lock flag, should match odp_atomic_flag_t */
-} odp_spinlock_t;
-
/**
* Initialize spin lock.
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am
index 9aed11316..9749df6bc 100644
--- a/platform/linux-generic/Makefile.am
+++ b/platform/linux-generic/Makefile.am
@@ -60,6 +60,7 @@ odpplatinclude_HEADERS = \
$(top_srcdir)/platform/linux-generic/include/odp/plat/queue_types.h \
$(top_srcdir)/platform/linux-generic/include/odp/plat/schedule_types.h \
$(top_srcdir)/platform/linux-generic/include/odp/plat/shared_memory_types.h \
+ $(top_srcdir)/platform/linux-generic/include/odp/plat/spinlock_types.h \
$(top_srcdir)/platform/linux-generic/include/odp/plat/strong_types.h \
$(top_srcdir)/platform/linux-generic/include/odp/plat/timer_types.h \
$(top_srcdir)/platform/linux-generic/include/odp/plat/version_types.h
diff --git a/platform/linux-generic/include/odp/plat/spinlock_types.h b/platform/linux-generic/include/odp/plat/spinlock_types.h
new file mode 100644
index 000000000..83d306b5b
--- /dev/null
+++ b/platform/linux-generic/include/odp/plat/spinlock_types.h
@@ -0,0 +1,46 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+
+/**
+ * @file
+ *
+ * ODP spinlock
+ */
+
+#ifndef ODP_SPINLOCK_TYPES_H_
+#define ODP_SPINLOCK_TYPES_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/std_types.h>
+
+/**
+ * @internal
+ * ODP spinlock
+ */
+struct odp_spinlock_s {
+ char lock; /**< lock flag, should match odp_atomic_flag_t */
+};
+
+
+/** @addtogroup odp_synchronizers
+ * @{
+ */
+
+typedef struct odp_spinlock_s odp_spinlock_t;
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/platform/linux-generic/include/odp/spinlock.h b/platform/linux-generic/include/odp/spinlock.h
index e02df492d..7dbb1c4bf 100644
--- a/platform/linux-generic/include/odp/spinlock.h
+++ b/platform/linux-generic/include/odp/spinlock.h
@@ -17,6 +17,8 @@
extern "C" {
#endif
+#include <odp/plat/spinlock_types.h>
+
/** @ingroup odp_synchronizers
* @{
*/