From: Barry Spinney <[email protected]>

This patch adds a call from odp_init.c to _odp_int_name_tbl_init().

Signed-off-by: Barry Spinney <[email protected]>
Signed-off-by: Bill Fischofer <[email protected]>
---
 platform/linux-generic/include/odp_internal.h         |  8 ++++++--
 .../linux-generic/include/odp_name_table_internal.h   |  3 ++-
 .../linux-generic/include/odp_timer_wheel_internal.h  |  3 ---
 platform/linux-generic/odp_init.c                     | 19 +++++++++++++++++--
 platform/linux-generic/odp_name_table.c               |  9 ++++++++-
 5 files changed, 33 insertions(+), 9 deletions(-)

diff --git a/platform/linux-generic/include/odp_internal.h 
b/platform/linux-generic/include/odp_internal.h
index d7b71ca..b56e85a 100644
--- a/platform/linux-generic/include/odp_internal.h
+++ b/platform/linux-generic/include/odp_internal.h
@@ -4,7 +4,6 @@
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-
 /**
  * @file
  *
@@ -55,7 +54,9 @@ enum init_stage {
        TIMER_INIT = 9,
        CRYPTO_INIT = 10,
        CLASSIFICATION_INIT = 11,
-       ALL_INIT = 12   /* All init stages completed */
+       TRAFFIC_MNGR_INIT = 12,
+       NAME_TABLE_INIT = 13,
+       ALL_INIT      /* All init stages completed */
 };
 
 extern struct odp_global_data_s odp_global_data;
@@ -107,6 +108,9 @@ int odp_time_term_global(void);
 
 int odp_tm_init_global(void);
 
+int _odp_int_name_tbl_init_global(void);
+int _odp_int_name_tbl_term_global(void);
+
 void _odp_flush_caches(void);
 
 int odp_cpuinfo_parser(FILE *file, odp_system_info_t *sysinfo);
diff --git a/platform/linux-generic/include/odp_name_table_internal.h 
b/platform/linux-generic/include/odp_name_table_internal.h
index e9a85da..21ae42d 100644
--- a/platform/linux-generic/include/odp_name_table_internal.h
+++ b/platform/linux-generic/include/odp_name_table_internal.h
@@ -52,7 +52,8 @@ uint64_t _odp_int_name_tbl_user_data(_odp_int_name_t 
odp_name);
 
 void _odp_int_name_tbl_stats_print(void);
 
-void _odp_int_name_tbl_init(void);
+int _odp_int_name_tbl_init_global(void);
+int _odp_int_name_tbl_term_global(void);
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp_timer_wheel_internal.h 
b/platform/linux-generic/include/odp_timer_wheel_internal.h
index 0e5828f..bb98df1 100644
--- a/platform/linux-generic/include/odp_timer_wheel_internal.h
+++ b/platform/linux-generic/include/odp_timer_wheel_internal.h
@@ -16,9 +16,6 @@ extern "C" {
 #include <stdint.h>
 #include <odp_api.h>
 
-/* Note that ALL times in this API are in units of processor/cpu clock
- * cycles!
- */
 typedef uint64_t _odp_timer_wheel_t;
 
 #define _ODP_INT_TIMER_WHEEL_INVALID  0
diff --git a/platform/linux-generic/odp_init.c 
b/platform/linux-generic/odp_init.c
index a8c91a5..8d1d32c 100644
--- a/platform/linux-generic/odp_init.c
+++ b/platform/linux-generic/odp_init.c
@@ -93,7 +93,13 @@ int odp_init_global(const odp_init_t *params,
 
        if (odp_tm_init_global()) {
                ODP_ERR("ODP traffic manager init failed\n");
-               return -1;
+               goto init_failed;
+       }
+       stage = TRAFFIC_MNGR_INIT;
+
+       if (_odp_int_name_tbl_init_global()) {
+               ODP_ERR("ODP name table init failed\n");
+               goto init_failed;
        }
 
        return 0;
@@ -114,10 +120,19 @@ int _odp_term_global(enum init_stage stage)
 
        switch (stage) {
        case ALL_INIT:
+       case NAME_TABLE_INIT:
+               if (_odp_int_name_tbl_term_global()) {
+                       ODP_ERR("Name table term failed.\n");
+                       rc = -1;
+               }
+               /* Fall through */
+
+       case TRAFFIC_MNGR_INIT:
+               /* Fall through */
 
        case CLASSIFICATION_INIT:
                if (odp_classification_term_global()) {
-                       ODP_ERR("ODP classificatio term failed.\n");
+                       ODP_ERR("ODP classification term failed.\n");
                        rc = -1;
                }
                /* Fall through */
diff --git a/platform/linux-generic/odp_name_table.c 
b/platform/linux-generic/odp_name_table.c
index 610f034..1e43a2c 100644
--- a/platform/linux-generic/odp_name_table.c
+++ b/platform/linux-generic/odp_name_table.c
@@ -1181,7 +1181,7 @@ void _odp_int_name_tbl_stats_print(void)
 #endif
 }
 
-void _odp_int_name_tbl_init(void)
+int _odp_int_name_tbl_init_global(void)
 {
        name_tbl_t *new_name_tbl;
 
@@ -1196,4 +1196,11 @@ void _odp_int_name_tbl_init(void)
        name_tbls.avail_space_bit_mask |= 1;
        name_tbls.num_name_tbls         = 1;
        name_tbls_initialized           = 1;
+
+       return 0;
+}
+
+int _odp_int_name_tbl_term_global(void)
+{
+       return 0;
 }
-- 
2.5.0

_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to