[CLOUD-DEV,v2,1/2] linux-gen: pool: apply modular framework and create subsystem

Message ID 1502344806-23218-2-git-send-email-odpbot@yandex.ru
State Superseded
Headers show
Series
  • Move pool to modular framework
Related show

Commit Message

Github ODP bot Aug. 10, 2017, 6 a.m.
From: Kevin Wang <kevin.wang@arm.com>


Signed-off-by: Kevin Wang <kevin.wang@arm.com>

---
/** Email created from pull request 120 (kevinwangsk:cloud-dev-pool-modular)
 ** https://github.com/Linaro/odp/pull/120
 ** Patch: https://github.com/Linaro/odp/pull/120.patch
 ** Base sha: 863d61cc3ed82f9f0725c792910e8a05cc5d5a82
 ** Merge commit sha: b484e3f4f3b7b1a5cc823b03e970999483c0bf2d
 **/
 platform/linux-generic/Makefile.am                 |  2 +
 .../linux-generic/include/odp_pool_subsystem.h     | 50 ++++++++++++++++++++++
 platform/linux-generic/pool/subsystem.c            | 17 ++++++++
 3 files changed, 69 insertions(+)
 create mode 100644 platform/linux-generic/include/odp_pool_subsystem.h
 create mode 100644 platform/linux-generic/pool/subsystem.c

Patch hide | download patch | download mbox

diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am
index 1d703cea..d74e2e31 100644
--- a/platform/linux-generic/Makefile.am
+++ b/platform/linux-generic/Makefile.am
@@ -190,6 +190,7 @@  noinst_HEADERS = \
 		  ${srcdir}/include/odp_packet_tap.h \
 		  ${srcdir}/include/odp_pkt_queue_internal.h \
 		  ${srcdir}/include/odp_pool_internal.h \
+		  ${srcdir}/include/odp_pool_subsystem.h \
 		  ${srcdir}/include/odp_posix_extensions.h \
 		  ${srcdir}/include/odp_queue_internal.h \
 		  ${srcdir}/include/odp_queue_scalable_internal.h \
@@ -267,6 +268,7 @@  __LIB__libodp_linux_la_SOURCES = \
 			   pktio/sysfs.c \
 			   pktio/tap.c \
 			   pktio/ring.c \
+			   pool/subsystem.c \
 			   odp_pkt_queue.c \
 			   odp_pool.c \
 			   odp_queue.c \
diff --git a/platform/linux-generic/include/odp_pool_subsystem.h b/platform/linux-generic/include/odp_pool_subsystem.h
new file mode 100644
index 00000000..45537a86
--- /dev/null
+++ b/platform/linux-generic/include/odp_pool_subsystem.h
@@ -0,0 +1,50 @@ 
+/* Copyright (c) 2017, ARM Limited. All rights reserved.
+ *
+ * Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef ODP_POOL_SUBSYSTEM_H_
+#define ODP_POOL_SUBSYSTEM_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp_module.h>
+#include <odp/api/pool.h>
+
+/* ODP pool public APIs subsystem */
+ODP_SUBSYSTEM_DECLARE(pool);
+
+/* Subsystem APIs declarations */
+ODP_SUBSYSTEM_API(pool, int, capability, odp_pool_capability_t *capa);
+ODP_SUBSYSTEM_API(pool, odp_pool_t, create, const char *name,
+		  odp_pool_param_t *params);
+ODP_SUBSYSTEM_API(pool, int, destroy, odp_pool_t pool);
+ODP_SUBSYSTEM_API(pool, odp_pool_t, lookup, const char *name);
+ODP_SUBSYSTEM_API(pool, int, info, odp_pool_t pool, odp_pool_info_t *info);
+ODP_SUBSYSTEM_API(pool, void, print, odp_pool_t pool);
+ODP_SUBSYSTEM_API(pool, uint64_t, to_u64, odp_pool_t pool);
+ODP_SUBSYSTEM_API(pool, void, param_init, odp_pool_param_t *params);
+
+typedef ODP_MODULE_CLASS(pool) {
+	odp_module_base_t base;
+
+	odp_api_proto(pool, capability) capability;
+	odp_api_proto(pool, create) create;
+	odp_api_proto(pool, destroy) destroy;
+	odp_api_proto(pool, lookup) lookup;
+	odp_api_proto(pool, info) info;
+	odp_api_proto(pool, print) print;
+	odp_api_proto(pool, to_u64) to_u64;
+	odp_api_proto(pool, param_init) param_init;
+} pool_module_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/platform/linux-generic/pool/subsystem.c b/platform/linux-generic/pool/subsystem.c
new file mode 100644
index 00000000..2750149c
--- /dev/null
+++ b/platform/linux-generic/pool/subsystem.c
@@ -0,0 +1,17 @@ 
+/* Copyright (c) 2017, ARM Limited. All rights reserved.
+ *
+ * Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+#include <odp_module.h>
+
+#define SUBSYSTEM_VERSION 0x00010000UL
+ODP_SUBSYSTEM_DEFINE(pool, "memory pool public APIs", SUBSYSTEM_VERSION);
+
+ODP_SUBSYSTEM_CONSTRUCTOR(pool)
+{
+	odp_subsystem_constructor(pool);
+}
+