[v10,19/30] linux-gen, include: switch byteorder.h to api+abi

Message ID 20171027125014.27313-20-dmitry.ereminsolenikov@linaro.org
State New
Headers show
Series
  • restructure headers for ABI-compat/platform-optimized modes
Related show

Commit Message

Dmitry Eremin-Solenikov Oct. 27, 2017, 12:50 p.m.
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org>

---
 include/Makefile.am                                |  1 +
 include/odp/api/byteorder.h                        | 28 ++++++++++++++
 platform/linux-generic/Makefile.am                 |  3 +-
 .../odp/api/abi/byteorder.h}                       | 15 +++++---
 platform/linux-generic/include/odp/api/byteorder.h | 43 ----------------------
 .../include/odp/api/plat/byteorder_inlines.h       |  6 +++
 platform/linux-generic/odp_byteorder.c             |  1 +
 7 files changed, 47 insertions(+), 50 deletions(-)
 create mode 100644 include/odp/api/byteorder.h
 rename platform/linux-generic/{include/odp/api/plat/byteorder_types.h => include-abi/odp/api/abi/byteorder.h} (84%)
 delete mode 100644 platform/linux-generic/include/odp/api/byteorder.h

-- 
2.14.2

Patch

diff --git a/include/Makefile.am b/include/Makefile.am
index d1eb26bc59c2..229f47fc7173 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -8,6 +8,7 @@  odpapiinclude_HEADERS = \
 	odp/api/atomic.h \
 	odp/api/barrier.h \
 	odp/api/buffer.h \
+	odp/api/byteorder.h \
 	odp/api/cpumask.h \
 	odp/api/event.h \
 	odp/api/init.h \
diff --git a/include/odp/api/byteorder.h b/include/odp/api/byteorder.h
new file mode 100644
index 000000000000..cbb45429943a
--- /dev/null
+++ b/include/odp/api/byteorder.h
@@ -0,0 +1,28 @@ 
+/* Copyright (c) 2014, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP byteorder
+ */
+
+#ifndef ODP_API_BYTEORDER_H_
+#define ODP_API_BYTEORDER_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/abi/byteorder.h>
+
+#include <odp/api/spec/byteorder.h>
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am
index 304ca86862f3..966fc13f5c02 100644
--- a/platform/linux-generic/Makefile.am
+++ b/platform/linux-generic/Makefile.am
@@ -20,7 +20,6 @@  odpinclude_HEADERS = \
 odpapiincludedir= $(includedir)/odp/api
 odpapiinclude_HEADERS = \
 		  include/odp/api/align.h \
-		  include/odp/api/byteorder.h \
 		  include/odp/api/chksum.h \
 		  include/odp/api/classification.h \
 		  include/odp/api/compiler.h \
@@ -47,7 +46,6 @@  odpapiplatincludedir= $(includedir)/odp/api/plat
 odpapiplatinclude_HEADERS = \
 		  include/odp/api/plat/atomic_inlines.h \
 		  include/odp/api/plat/byteorder_inlines.h \
-		  include/odp/api/plat/byteorder_types.h \
 		  include/odp/api/plat/packet_flag_inlines.h \
 		  include/odp/api/plat/packet_flag_inlines_api.h \
 		  include/odp/api/plat/packet_inlines.h \
@@ -69,6 +67,7 @@  odpapiabiarchinclude_HEADERS = \
 		  include-abi/odp/api/abi/atomic.h \
 		  include-abi/odp/api/abi/barrier.h \
 		  include-abi/odp/api/abi/buffer.h \
+		  include-abi/odp/api/abi/byteorder.h \
 		  include-abi/odp/api/abi/classification.h \
 		  include-abi/odp/api/abi/cpumask.h \
 		  include-abi/odp/api/abi/crypto.h \
diff --git a/platform/linux-generic/include/odp/api/plat/byteorder_types.h b/platform/linux-generic/include-abi/odp/api/abi/byteorder.h
similarity index 84%
rename from platform/linux-generic/include/odp/api/plat/byteorder_types.h
rename to platform/linux-generic/include-abi/odp/api/abi/byteorder.h
index 20d52bf8fa6b..0f8fac0b16c8 100644
--- a/platform/linux-generic/include/odp/api/plat/byteorder_types.h
+++ b/platform/linux-generic/include-abi/odp/api/abi/byteorder.h
@@ -10,23 +10,25 @@ 
  * ODP byteorder
  */
 
-#ifndef ODP_BYTEORDER_TYPES_H_
-#define ODP_BYTEORDER_TYPES_H_
+#ifndef ODP_API_ABI_BYTEORDER_H_
+#define ODP_API_ABI_BYTEORDER_H_
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+#include <odp/api/std_types.h>
+
 #ifndef __BYTE_ORDER__
-#error __BYTE_ORDER not defined!
+#error __BYTE_ORDER__ not defined!
 #endif
 
 #ifndef __ORDER_BIG_ENDIAN__
-#error __BIG_ENDIAN not defined!
+#error __ORDER_BIG_ENDIAN__ not defined!
 #endif
 
 #ifndef __ORDER_LITTLE_ENDIAN__
-#error __LITTLE_ENDIAN not defined!
+#error __ORDER_LITTLE_ENDIAN__ not defined!
 #endif
 
 /* for use with type checkers such as sparse */
@@ -73,6 +75,9 @@  typedef uint64_t __odp_bitwise	odp_u64be_t;
 typedef uint16_t __odp_bitwise  odp_u16sum_t;
 typedef uint32_t __odp_bitwise  odp_u32sum_t;
 
+#include <odp/api/plat/static_inline.h>
+#include <odp/api/plat/byteorder_inlines.h>
+
 /**
  * @}
  */
diff --git a/platform/linux-generic/include/odp/api/byteorder.h b/platform/linux-generic/include/odp/api/byteorder.h
deleted file mode 100644
index ec3d0eef763a..000000000000
--- a/platform/linux-generic/include/odp/api/byteorder.h
+++ /dev/null
@@ -1,43 +0,0 @@ 
-/* Copyright (c) 2014, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier:     BSD-3-Clause
- */
-
-/**
- * @file
- *
- * ODP byteorder
- */
-
-#ifndef ODP_PLAT_BYTEORDER_H_
-#define ODP_PLAT_BYTEORDER_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <odp/api/std_types.h>
-#include <odp/api/plat/byteorder_types.h>
-#include <odp/api/compiler.h>
-
-/** @ingroup odp_compiler_optim
- *  @{
- */
-
-#include <odp/api/plat/static_inline.h>
-#if ODP_ABI_COMPAT == 0
-#include <odp/api/plat/byteorder_inlines.h>
-#endif
-
-/**
- * @}
- */
-
-#include <odp/api/spec/byteorder.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/odp/api/plat/byteorder_inlines.h b/platform/linux-generic/include/odp/api/plat/byteorder_inlines.h
index e7818904b11a..6f3139628ebd 100644
--- a/platform/linux-generic/include/odp/api/plat/byteorder_inlines.h
+++ b/platform/linux-generic/include/odp/api/plat/byteorder_inlines.h
@@ -17,6 +17,12 @@ 
 extern "C" {
 #endif
 
+#ifndef __odp_force
+#define __odp_force
+#endif
+
+#include <odp/api/compiler.h>
+
 /** @ingroup odp_compiler_optim
  *  @{
  */
diff --git a/platform/linux-generic/odp_byteorder.c b/platform/linux-generic/odp_byteorder.c
index a3d1f981e965..faf1c5904bb4 100644
--- a/platform/linux-generic/odp_byteorder.c
+++ b/platform/linux-generic/odp_byteorder.c
@@ -7,6 +7,7 @@ 
 #include "config.h"
 
 #include <odp/api/byteorder.h>
+#include <odp/api/plat/static_inline.h>
 #if ODP_ABI_COMPAT == 1
 #include <odp/api/plat/byteorder_inlines.h>
 #endif