Signed-off-by: Bill Fischofer <bill.fischo...@linaro.org>
---
 .../include/odp_traffic_mngr_internal.h            | 15 +++---
 platform/linux-generic/odp_name_table.c            | 58 ++++++++++++----------
 platform/linux-generic/odp_pkt_queue.c             | 12 ++---
 platform/linux-generic/odp_sorted_list.c           | 16 +++---
 platform/linux-generic/odp_timer_wheel.c           | 18 +++----
 platform/linux-generic/odp_traffic_mngr.c          |  4 +-
 6 files changed, 67 insertions(+), 56 deletions(-)

diff --git a/platform/linux-generic/include/odp_traffic_mngr_internal.h 
b/platform/linux-generic/include/odp_traffic_mngr_internal.h
index c2d5cf4..e48e213 100644
--- a/platform/linux-generic/include/odp_traffic_mngr_internal.h
+++ b/platform/linux-generic/include/odp_traffic_mngr_internal.h
@@ -48,8 +48,8 @@ typedef struct stat  file_stat_t;
 
 /* Macros to convert handles to internal pointers and vice versa. */
 
-#define MAKE_ODP_TM_HANDLE(tm_system)  ((odp_tm_t)tm_system)
-#define GET_TM_SYSTEM(odp_tm)          ((tm_system_t *)odp_tm)
+#define MAKE_ODP_TM_HANDLE(tm_system)  ((odp_tm_t)(uintptr_t)tm_system)
+#define GET_TM_SYSTEM(odp_tm)          ((tm_system_t *)(uintptr_t)odp_tm)
 
 #define MAKE_PROFILE_HANDLE(profile_kind, tbl_idx) \
        (((profile_kind & 0xF) << 28) | ((tbl_idx + 1) & 0xFFFFFFF))
@@ -59,11 +59,14 @@ typedef struct stat  file_stat_t;
 
 #define GET_TBL_IDX(profile_handle)  ((profile_handle & 0xFFFFFFF) - 1)
 
-#define MAKE_ODP_TM_NODE(tm_node_obj)  ((odp_tm_node_t)(tm_node_obj))
-#define GET_TM_NODE_OBJ(odp_tm_node)   ((tm_node_obj_t *)(odp_tm_node))
+#define MAKE_ODP_TM_NODE(tm_node_obj) ((odp_tm_node_t)(uintptr_t)(tm_node_obj))
+#define GET_TM_NODE_OBJ(odp_tm_node) \
+       ((tm_node_obj_t *)(uintptr_t)(odp_tm_node))
 
-#define MAKE_ODP_TM_QUEUE(tm_queue_obj)  ((odp_tm_queue_t)(tm_queue_obj))
-#define GET_TM_QUEUE_OBJ(odp_tm_queue)   ((tm_queue_obj_t *)(odp_tm_queue))
+#define MAKE_ODP_TM_QUEUE(tm_queue_obj) \
+       ((odp_tm_queue_t)(uintptr_t)(tm_queue_obj))
+#define GET_TM_QUEUE_OBJ(odp_tm_queue) \
+       ((tm_queue_obj_t *)(uintptr_t)(odp_tm_queue))
 
 typedef uint64_t tm_handle_t;
 
diff --git a/platform/linux-generic/odp_name_table.c 
b/platform/linux-generic/odp_name_table.c
index 10ce099..10a760e 100644
--- a/platform/linux-generic/odp_name_table.c
+++ b/platform/linux-generic/odp_name_table.c
@@ -567,7 +567,7 @@ static hash_tbl_entry_t 
make_hash_tbl_entry(name_tbl_entry_t *name_tbl_entry,
        uint32_t         new_entry_cnt;
 
        new_entry_cnt   = MIN(entry_cnt + 1, 0x3F);
-       hash_tbl_entry  = (hash_tbl_entry_t)name_tbl_entry;
+       hash_tbl_entry  = (hash_tbl_entry_t)(uintptr_t)name_tbl_entry;
        hash_tbl_entry &= ~0x3F;
        hash_tbl_entry |= new_entry_cnt;
        return hash_tbl_entry;
@@ -584,18 +584,18 @@ static name_tbl_entry_t *name_hash_tbl_lookup(uint32_t 
hash_value)
        if (hash_tbl_entry == 0)
                return NULL;
        else if ((hash_tbl_entry & 0x3F) != 0)
-               return (name_tbl_entry_t *)(hash_tbl_entry & ~0x3F);
+               return (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & ~0x3F);
 
        /* This hash_tbl_entry references a secondary hash table, so get
        * some more hash_value bits and index that table.
        */
        hash_idx       = (hash_value >> 16) & (SECONDARY_HASH_TBL_SIZE - 1);
-       secondary_hash = (secondary_hash_tbl_t *)hash_tbl_entry;
+       secondary_hash = (secondary_hash_tbl_t *)(uintptr_t)hash_tbl_entry;
        hash_tbl_entry = secondary_hash->hash_entries[hash_idx];
        if (hash_tbl_entry == 0)
                return NULL;
        else if ((hash_tbl_entry & 0x3F) != 0)
-               return (name_tbl_entry_t *)(hash_tbl_entry & ~0x3F);
+               return (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & ~0x3F);
 
        /* Yet again, this hash_tbl_entry references a secondary hash table,
        * so get some more hash_value bits and index that table.  We only
@@ -604,12 +604,12 @@ static name_tbl_entry_t *name_hash_tbl_lookup(uint32_t 
hash_value)
        * returning NULL.
        */
        hash_idx       = (hash_value >> 24) & (SECONDARY_HASH_TBL_SIZE - 1);
-       secondary_hash = (secondary_hash_tbl_t *)hash_tbl_entry;
+       secondary_hash = (secondary_hash_tbl_t *)(uintptr_t)hash_tbl_entry;
        hash_tbl_entry = secondary_hash->hash_entries[hash_idx];
        if (hash_tbl_entry == 0)
                return NULL;
        else if ((hash_tbl_entry & 0x3F) != 0)
-               return (name_tbl_entry_t *)(hash_tbl_entry & ~0x3F);
+               return (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & ~0x3F);
 
        return NULL;
 }
@@ -655,7 +655,8 @@ static hash_tbl_entry_t secondary_hash_add(name_tbl_entry_t 
*name_tbl_entry,
 
                hash_tbl_entry = secondary_hash->hash_entries[hash_idx];
                entry_cnt      = hash_tbl_entry & 0x3F;
-               first_entry    = (name_tbl_entry_t *)(hash_tbl_entry & ~0x3F);
+               first_entry    =
+                       (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & ~0x3F);
 
                name_tbl_entry->next_entry = first_entry;
                new_hash_tbl_entry =
@@ -666,7 +667,7 @@ static hash_tbl_entry_t secondary_hash_add(name_tbl_entry_t 
*name_tbl_entry,
        }
 
        /* secondary_hash_dump(secondary_hash); */
-       return (hash_tbl_entry_t)secondary_hash;
+       return (hash_tbl_entry_t)(uintptr_t)secondary_hash;
 }
 
 static hash_tbl_entry_t hash_tbl_remove(secondary_hash_tbl_t *hash_tbl,
@@ -693,11 +694,11 @@ static hash_tbl_entry_t 
hash_tbl_remove(secondary_hash_tbl_t *hash_tbl,
                                 * new entry onto the front of it.
                                 */
                                head_entry = (name_tbl_entry_t *)
-                                       (hash_tbl_entry & ~0x3F);
+                                       (uintptr_t)(hash_tbl_entry & ~0x3F);
                                tail_entry = head_entry;
                        } else {
                                secondary_hash = (secondary_hash_tbl_t *)
-                                       hash_tbl_entry;
+                                       (uintptr_t)hash_tbl_entry;
                                check_secondary_hash(secondary_hash);
                                if (level == 1)
                                        break;
@@ -758,7 +759,8 @@ static int name_hash_tbl_add(name_tbl_entry_t *entry_to_add,
                /* This primary hash table entry points to a name_tbl_entry_t
                 * linked list, so add this new entry onto the front of it.
                 */
-               name_tbl_entry = (name_tbl_entry_t *)(hash_tbl_entry & ~0x3F);
+               name_tbl_entry =
+                       (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & ~0x3F);
                entry_to_add->next_entry = name_tbl_entry;
                hash_tbl_entry = make_hash_tbl_entry(entry_to_add, entry_cnt);
                name_hash_tbl.hash_entries[primary_hash_idx] = hash_tbl_entry;
@@ -783,7 +785,7 @@ static int name_hash_tbl_add(name_tbl_entry_t *entry_to_add,
        * some more hash_value bits and index that table.
        */
        hash_idx       = (hash_value >> 16) & (SECONDARY_HASH_TBL_SIZE - 1);
-       secondary_hash = (secondary_hash_tbl_t *)hash_tbl_entry;
+       secondary_hash = (secondary_hash_tbl_t *)(uintptr_t)hash_tbl_entry;
        check_secondary_hash(secondary_hash);
        hash_tbl_entry = secondary_hash->hash_entries[hash_idx];
        entry_cnt      = hash_tbl_entry & 0x3F;
@@ -799,7 +801,8 @@ static int name_hash_tbl_add(name_tbl_entry_t *entry_to_add,
                 * name_tbl_entry_t linked list, so add this new entry onto
                 * the front of it.
                 */
-               name_tbl_entry = (name_tbl_entry_t *)(hash_tbl_entry & ~0x3F);
+               name_tbl_entry =
+                       (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & ~0x3F);
                entry_to_add->next_entry = name_tbl_entry;
                hash_tbl_entry = make_hash_tbl_entry(entry_to_add, entry_cnt);
                secondary_hash->hash_entries[hash_idx] = hash_tbl_entry;
@@ -827,7 +830,7 @@ static int name_hash_tbl_add(name_tbl_entry_t *entry_to_add,
        * signal failure by returning -1.
        */
        hash_idx       = (hash_value >> 24) & (SECONDARY_HASH_TBL_SIZE - 1);
-       secondary_hash = (secondary_hash_tbl_t *)hash_tbl_entry;
+       secondary_hash = (secondary_hash_tbl_t *)(uintptr_t)hash_tbl_entry;
        check_secondary_hash(secondary_hash);
        hash_tbl_entry = secondary_hash->hash_entries[hash_idx];
        entry_cnt      = hash_tbl_entry & 0x3F;
@@ -846,7 +849,8 @@ static int name_hash_tbl_add(name_tbl_entry_t *entry_to_add,
                 * linked list, we never add another hash table, so we don't
                 * need to update any secondary table counts.
                 */
-               name_tbl_entry = (name_tbl_entry_t *)(hash_tbl_entry & ~0x3F);
+               name_tbl_entry =
+                       (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & ~0x3F);
                entry_to_add->next_entry = name_tbl_entry;
                hash_tbl_entry = make_hash_tbl_entry(entry_to_add, entry_cnt);
                secondary_hash->hash_entries[hash_idx] = hash_tbl_entry;
@@ -875,7 +879,8 @@ static int name_tbl_entry_list_remove(hash_tbl_entry_t 
*hash_entry_ptr,
                         * deleted.
                         */
                        if (!prev_entry) {
-                               hash_tbl_entry  = (hash_tbl_entry_t)next_entry;
+                               hash_tbl_entry  =
+                                       (hash_tbl_entry_t)(uintptr_t)next_entry;
                                hash_tbl_entry &= ~0x3F;
                                hash_tbl_entry |= entry_cnt;
                                *hash_entry_ptr = hash_tbl_entry;
@@ -922,7 +927,8 @@ static int name_hash_tbl_delete(name_tbl_entry_t 
*entry_to_delete,
                /* This primary hash table entry points to a name_tbl_entry_t
                 * linked list, so remove entry from this linked list.
                 */
-               name_tbl_entry = (name_tbl_entry_t *)(hash_tbl_entry & ~0x3F);
+               name_tbl_entry =
+                       (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & ~0x3F);
                rc = name_tbl_entry_list_remove(hash_entry_ptr, name_tbl_entry,
                                                entry_to_delete, entry_cnt);
                tbn = (*hash_entry_ptr) & ~0x3F;
@@ -940,7 +946,7 @@ static int name_hash_tbl_delete(name_tbl_entry_t 
*entry_to_delete,
        * some more hash_value bits and index that table.
        */
        hash_idx       = (hash_value >> 16) & (SECONDARY_HASH_TBL_SIZE - 1);
-       secondary_hash = (secondary_hash_tbl_t *)hash_tbl_entry;
+       secondary_hash = (secondary_hash_tbl_t *)(uintptr_t)hash_tbl_entry;
        check_secondary_hash(secondary_hash);
        hash_entry_ptr = &secondary_hash->hash_entries[hash_idx];
        hash_tbl_entry = *hash_entry_ptr;
@@ -955,7 +961,8 @@ static int name_hash_tbl_delete(name_tbl_entry_t 
*entry_to_delete,
                 * name_tbl_entry_t linked list, so try to remove
                 * entry_to_delete from this linked list.
                 */
-               name_tbl_entry = (name_tbl_entry_t *)(hash_tbl_entry & ~0x3F);
+               name_tbl_entry =
+                       (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & ~0x3F);
                rc = name_tbl_entry_list_remove(hash_entry_ptr, name_tbl_entry,
                                                entry_to_delete, entry_cnt);
                tbn = (*hash_entry_ptr) & ~0x3F;
@@ -988,7 +995,7 @@ static int name_hash_tbl_delete(name_tbl_entry_t 
*entry_to_delete,
        * signal failure by returning -1.
        */
        hash_idx       = (hash_value >> 24) & (SECONDARY_HASH_TBL_SIZE - 1);
-       secondary_hash = (secondary_hash_tbl_t *)hash_tbl_entry;
+       secondary_hash = (secondary_hash_tbl_t *)(uintptr_t)hash_tbl_entry;
        check_secondary_hash(secondary_hash);
        hash_entry_ptr = &secondary_hash->hash_entries[hash_idx];
        hash_tbl_entry = *hash_entry_ptr;
@@ -1003,7 +1010,8 @@ static int name_hash_tbl_delete(name_tbl_entry_t 
*entry_to_delete,
                 * name_tbl_entry_t linked list, so try to remove
                 * entry_to_delete from this linked list.
                 */
-               name_tbl_entry = (name_tbl_entry_t *)(hash_tbl_entry & ~0x3F);
+               name_tbl_entry =
+                       (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & ~0x3F);
                rc = name_tbl_entry_list_remove(hash_entry_ptr, name_tbl_entry,
                                                entry_to_delete, entry_cnt);
                tbn = (*hash_entry_ptr) & ~0x3F;
@@ -1172,7 +1180,7 @@ static uint32_t level2_hash_histo(secondary_hash_tbl_t 
*hash_tbl,
                        collisions = 0;
                } else {
                        name_tbl_entry = (name_tbl_entry_t *)
-                               (hash_tbl_entry & ~0x3F);
+                               (uintptr_t)(hash_tbl_entry & ~0x3F);
                        collisions     = linked_list_len(name_tbl_entry);
                }
 
@@ -1199,11 +1207,11 @@ static uint32_t level1_hash_histo(secondary_hash_tbl_t 
*hash_tbl,
                        collisions = 0;
                } else if ((hash_tbl_entry & 0x3F) != 0) {
                        name_tbl_entry = (name_tbl_entry_t *)
-                               (hash_tbl_entry & ~0x3F);
+                               (uintptr_t)(hash_tbl_entry & ~0x3F);
                        collisions     = linked_list_len(name_tbl_entry);
                } else {
                        secondary_hash = (secondary_hash_tbl_t *)
-                               hash_tbl_entry;
+                               (uintptr_t)hash_tbl_entry;
                        collisions     = level2_hash_histo(secondary_hash,
                                                           level2_histo);
                }
@@ -1232,7 +1240,7 @@ static void secondary_hash_histo_print(void)
                         * hash table
                         */
                        secondary_hash = (secondary_hash_tbl_t *)
-                               hash_tbl_entry;
+                               (uintptr_t)hash_tbl_entry;
                        level1_hash_histo(secondary_hash, level1_histo,
                                          level2_histo);
                }
diff --git a/platform/linux-generic/odp_pkt_queue.c 
b/platform/linux-generic/odp_pkt_queue.c
index 45508eb..88520b1 100644
--- a/platform/linux-generic/odp_pkt_queue.c
+++ b/platform/linux-generic/odp_pkt_queue.c
@@ -215,7 +215,7 @@ _odp_int_queue_pool_t _odp_queue_pool_create(uint32_t 
max_num_queues,
 
        pool->min_free_list_size = pool->free_list_size;
        pool->peak_free_list_size = pool->free_list_size;
-       return (_odp_int_queue_pool_t)pool;
+       return (_odp_int_queue_pool_t)(uintptr_t)pool;
 }
 
 _odp_int_pkt_queue_t _odp_pkt_queue_create(_odp_int_queue_pool_t queue_pool)
@@ -223,7 +223,7 @@ _odp_int_pkt_queue_t 
_odp_pkt_queue_create(_odp_int_queue_pool_t queue_pool)
        queue_pool_t *pool;
        uint32_t queue_num;
 
-       pool = (queue_pool_t *)queue_pool;
+       pool = (queue_pool_t *)(uintptr_t)queue_pool;
        queue_num = pool->next_queue_num++;
        if (pool->max_queue_num < queue_num)
                return _ODP_INT_PKT_QUEUE_INVALID;
@@ -239,7 +239,7 @@ int _odp_pkt_queue_append(_odp_int_queue_pool_t queue_pool,
        uint32_t queue_num, first_blk_idx, tail_blk_idx, new_tail_blk_idx;
        uint32_t idx;
 
-       pool = (queue_pool_t *)queue_pool;
+       pool = (queue_pool_t *)(uintptr_t)queue_pool;
        queue_num = (uint32_t)pkt_queue;
        if ((queue_num == 0) || (pool->max_queue_num < queue_num))
                return -2;
@@ -296,7 +296,7 @@ int _odp_pkt_queue_remove(_odp_int_queue_pool_t queue_pool,
        queue_blk_t *first_blk, *second_blk;
        uint32_t queue_num, first_blk_idx, next_blk_idx, idx;
 
-       pool = (queue_pool_t *)queue_pool;
+       pool = (queue_pool_t *)(uintptr_t)queue_pool;
        queue_num = (uint32_t)pkt_queue;
        if ((queue_num == 0) || (pool->max_queue_num < queue_num))
                return -2;
@@ -347,7 +347,7 @@ void _odp_pkt_queue_stats_print(_odp_int_queue_pool_t 
queue_pool)
 {
        queue_pool_t *pool;
 
-       pool = (queue_pool_t *)queue_pool;
+       pool = (queue_pool_t *)(uintptr_t)queue_pool;
        ODP_DBG("pkt_queue_stats - queue_pool=0x%lX\n", queue_pool);
        ODP_DBG("  max_queue_num=%u max_queued_pkts=%u next_queue_num=%u\n",
                pool->max_queue_num, pool->max_queued_pkts,
@@ -367,7 +367,7 @@ void _odp_queue_pool_destroy(_odp_int_queue_pool_t 
queue_pool)
        queue_pool_t *pool;
        uint32_t idx;
 
-       pool = (queue_pool_t *)queue_pool;
+       pool = (queue_pool_t *)(uintptr_t)queue_pool;
        for (idx = 0; idx < 16; idx++) {
                queue_region_desc = &pool->queue_region_descs[idx];
                if (queue_region_desc->queue_blks)
diff --git a/platform/linux-generic/odp_sorted_list.c 
b/platform/linux-generic/odp_sorted_list.c
index 221754d..5811266 100644
--- a/platform/linux-generic/odp_sorted_list.c
+++ b/platform/linux-generic/odp_sorted_list.c
@@ -56,7 +56,7 @@ _odp_int_sorted_pool_t _odp_sorted_pool_create(uint32_t 
max_sorted_lists)
        list_descs = malloc(malloc_len);
        memset(list_descs, 0, malloc_len);
        pool->list_descs = list_descs;
-       return (_odp_int_sorted_pool_t)pool;
+       return (_odp_int_sorted_pool_t)(uintptr_t)pool;
 }
 
 _odp_int_sorted_list_t
@@ -66,7 +66,7 @@ _odp_sorted_list_create(_odp_int_sorted_pool_t sorted_pool,
        sorted_pool_t *pool;
        uint32_t       list_idx;
 
-       pool     = (sorted_pool_t *)sorted_pool;
+       pool     = (sorted_pool_t *)(uintptr_t)sorted_pool;
        list_idx = pool->next_list_idx++;
        return (_odp_int_sorted_list_t)list_idx;
 }
@@ -81,7 +81,7 @@ int _odp_sorted_list_insert(_odp_int_sorted_pool_t 
sorted_pool,
        sorted_pool_t      *pool;
        uint32_t            list_idx;
 
-       pool     = (sorted_pool_t *)sorted_pool;
+       pool     = (sorted_pool_t *)(uintptr_t)sorted_pool;
        list_idx = (uint32_t)sorted_list;
        if ((pool->next_list_idx    <= list_idx) ||
            (pool->max_sorted_lists <= list_idx))
@@ -125,7 +125,7 @@ int _odp_sorted_list_find(_odp_int_sorted_pool_t 
sorted_pool,
        sorted_pool_t      *pool;
        uint32_t            list_idx;
 
-       pool     = (sorted_pool_t *)sorted_pool;
+       pool     = (sorted_pool_t *)(uintptr_t)sorted_pool;
        list_idx = (uint32_t)sorted_list;
        if ((pool->next_list_idx    <= list_idx) ||
            (pool->max_sorted_lists <= list_idx))
@@ -161,7 +161,7 @@ int _odp_sorted_list_delete(_odp_int_sorted_pool_t 
sorted_pool,
        sorted_pool_t      *pool;
        uint32_t            list_idx;
 
-       pool     = (sorted_pool_t *)sorted_pool;
+       pool     = (sorted_pool_t *)(uintptr_t)sorted_pool;
        list_idx = (uint32_t)sorted_list;
        if ((pool->next_list_idx    <= list_idx) ||
            (pool->max_sorted_lists <= list_idx))
@@ -207,7 +207,7 @@ int _odp_sorted_list_remove(_odp_int_sorted_pool_t 
sorted_pool,
        sorted_pool_t      *pool;
        uint32_t            list_idx;
 
-       pool     = (sorted_pool_t *)sorted_pool;
+       pool     = (sorted_pool_t *)(uintptr_t)sorted_pool;
        list_idx = (uint32_t)sorted_list;
        if ((pool->next_list_idx    <= list_idx) ||
            (pool->max_sorted_lists <= list_idx))
@@ -237,7 +237,7 @@ void _odp_sorted_list_stats_print(_odp_int_sorted_pool_t 
sorted_pool)
 {
        sorted_pool_t *pool;
 
-       pool = (sorted_pool_t *)sorted_pool;
+       pool = (sorted_pool_t *)(uintptr_t)sorted_pool;
        ODP_DBG("sorted_pool=0x%lX\n", sorted_pool);
        ODP_DBG("  max_sorted_lists=%u next_list_idx=%u\n",
                pool->max_sorted_lists, pool->next_list_idx);
@@ -253,7 +253,7 @@ void _odp_sorted_pool_destroy(_odp_int_sorted_pool_t 
sorted_pool)
        sorted_pool_t       *pool;
        uint32_t             list_idx;
 
-       pool       = (sorted_pool_t *)sorted_pool;
+       pool       = (sorted_pool_t *)(uintptr_t)sorted_pool;
        list_descs = pool->list_descs;
 
        for (list_idx = 0; list_idx < pool->next_list_idx; list_idx++) {
diff --git a/platform/linux-generic/odp_timer_wheel.c 
b/platform/linux-generic/odp_timer_wheel.c
index bcab01b..21be3ef 100644
--- a/platform/linux-generic/odp_timer_wheel.c
+++ b/platform/linux-generic/odp_timer_wheel.c
@@ -748,7 +748,7 @@ _odp_timer_wheel_t _odp_timer_wheel_create(uint32_t 
max_concurrent_timers,
        free_list_add(timer_wheels, max_concurrent_timers / 4);
        timer_wheels->min_free_list_size  = timer_wheels->free_list_size;
        timer_wheels->peak_free_list_size = timer_wheels->free_list_size;
-       return (_odp_timer_wheel_t)timer_wheels;
+       return (_odp_timer_wheel_t)(uintptr_t)timer_wheels;
 }
 
 uint32_t _odp_timer_wheel_curr_time_update(_odp_timer_wheel_t timer_wheel,
@@ -759,7 +759,7 @@ uint32_t 
_odp_timer_wheel_curr_time_update(_odp_timer_wheel_t timer_wheel,
        uint32_t        desc_idx;
        int             rc;
 
-       timer_wheels      = (timer_wheels_t *)timer_wheel;
+       timer_wheels      = (timer_wheels_t *)(uintptr_t)timer_wheel;
        new_current_ticks = current_time >> CYCLES_TO_TICKS_SHIFT;
        elapsed_ticks     = new_current_ticks - timer_wheels->current_ticks;
        if (elapsed_ticks == 0)
@@ -787,13 +787,13 @@ int _odp_timer_wheel_insert(_odp_timer_wheel_t 
timer_wheel,
        uint64_t        user_data, wakeup_ticks;
        int             rc;
 
-       user_data = (uint64_t)user_ptr;
+       user_data = (uint64_t)(uintptr_t)user_ptr;
        if (user_data == 0)
                return -4;  /* user_data cannot be 0! */
        else if ((user_data & 0x3) != 0)
                return -5;  /* user_data ptr must be at least 4-byte aligned. */
 
-       timer_wheels = (timer_wheels_t *)timer_wheel;
+       timer_wheels = (timer_wheels_t *)(uintptr_t)timer_wheel;
        wakeup_ticks = (wakeup_time >> CYCLES_TO_TICKS_SHIFT) + 1;
        if (wakeup_time <= timer_wheels->current_ticks)
                return -6;
@@ -828,21 +828,21 @@ void *_odp_timer_wheel_next_expired(_odp_timer_wheel_t 
timer_wheel)
        int             rc;
 
        /* Remove the head of the timer wheel. */
-       timer_wheels = (timer_wheels_t *)timer_wheel;
+       timer_wheels = (timer_wheels_t *)(uintptr_t)timer_wheel;
        rc = expired_timers_remove(timer_wheels, &user_data);
        if (rc <= 0)
                return NULL;
 
        user_data &= ~0x3;
        timer_wheels->total_timer_removes++;
-       return (void *)user_data;
+       return (void *)(uintptr_t)user_data;
 }
 
 uint32_t _odp_timer_wheel_count(_odp_timer_wheel_t timer_wheel)
 {
        timer_wheels_t *timer_wheels;
 
-       timer_wheels = (timer_wheels_t *)timer_wheel;
+       timer_wheels = (timer_wheels_t *)(uintptr_t)timer_wheel;
        return timer_wheels->total_timer_inserts -
                timer_wheels->total_timer_removes;
 }
@@ -862,7 +862,7 @@ void _odp_timer_wheel_stats_print(_odp_timer_wheel_t 
timer_wheel)
        expired_ring_t *expired_ring;
        uint32_t        wheel_idx;
 
-       timer_wheels = (timer_wheels_t *)timer_wheel;
+       timer_wheels = (timer_wheels_t *)(uintptr_t)timer_wheel;
        expired_ring = timer_wheels->expired_timers_ring;
 
        ODP_DBG("_odp_int_timer_wheel_stats current_ticks=%lu\n",
@@ -894,7 +894,7 @@ void _odp_timer_wheel_destroy(_odp_timer_wheel_t 
timer_wheel)
        timer_wheels_t *timer_wheels;
        expired_ring_t *expired_ring;
 
-       timer_wheels = (timer_wheels_t *)timer_wheel;
+       timer_wheels = (timer_wheels_t *)(uintptr_t)timer_wheel;
        expired_ring = timer_wheels->expired_timers_ring;
 
        /* First free all of the block_of_timer_blks @TODO */
diff --git a/platform/linux-generic/odp_traffic_mngr.c 
b/platform/linux-generic/odp_traffic_mngr.c
index 88e0ada..6179568 100644
--- a/platform/linux-generic/odp_traffic_mngr.c
+++ b/platform/linux-generic/odp_traffic_mngr.c
@@ -658,7 +658,7 @@ static int tm_delay_pkt(tm_system_t *tm_system, 
tm_shaper_obj_t *shaper_obj,
        timer_context = (((uint64_t)tm_queue_obj->timer_seq) << 32) |
                (((uint64_t)tm_queue_obj->queue_num) << 4);
        _odp_timer_wheel_insert(tm_system->_odp_int_timer_wheel,
-                               wakeup_time, (void *)timer_context);
+                               wakeup_time, (void *)(uintptr_t)timer_context);
 
        tm_queue_obj->timer_reason = UNDELAY_PKT;
        tm_queue_obj->timer_shaper = shaper_obj;
@@ -1680,7 +1680,7 @@ static int tm_process_expired_timers(tm_system_t 
*tm_system,
                if (!ptr)
                        return work_done;
 
-               timer_context = (uint64_t)ptr;
+               timer_context = (uint64_t)(uintptr_t)ptr;
                queue_num = (timer_context & 0xFFFFFFFF) >> 4;
                timer_seq = timer_context >> 32;
                tm_queue_obj = tm_system->queue_num_tbl[queue_num];
-- 
2.1.4

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to