#include "rxe.h"
 #include "rxe_loc.h"
 
-/* info about object pools
- */
-struct rxe_type_info rxe_type_info[RXE_NUM_TYPES] = {
+static const struct rxe_type_info {
+       const char *name;
+       size_t size;
+       size_t elem_offset;
+       void (*cleanup)(struct rxe_pool_entry *obj);
+       enum rxe_pool_flags flags;
+       u32 min_index;
+       u32 max_index;
+       size_t key_offset;
+       size_t key_size;
+} rxe_type_info[RXE_NUM_TYPES] = {
        [RXE_TYPE_UC] = {
                .name           = "rxe-uc",
                .size           = sizeof(struct rxe_ucontext),
                .elem_offset    = offsetof(struct rxe_mr, pelem),
                .cleanup        = rxe_mr_cleanup,
                .flags          = RXE_POOL_INDEX,
-               .max_index      = RXE_MAX_MR_INDEX,
                .min_index      = RXE_MIN_MR_INDEX,
+               .max_index      = RXE_MAX_MR_INDEX,
        },
        [RXE_TYPE_MW] = {
                .name           = "rxe-mw",
                .elem_offset    = offsetof(struct rxe_mw, pelem),
                .cleanup        = rxe_mw_cleanup,
                .flags          = RXE_POOL_INDEX | RXE_POOL_NO_ALLOC,
-               .max_index      = RXE_MAX_MW_INDEX,
                .min_index      = RXE_MIN_MW_INDEX,
+               .max_index      = RXE_MAX_MW_INDEX,
        },
        [RXE_TYPE_MC_GRP] = {
                .name           = "rxe-mc_grp",
 
 void *rxe_alloc_locked(struct rxe_pool *pool)
 {
-       struct rxe_type_info *info = &rxe_type_info[pool->type];
+       const struct rxe_type_info *info = &rxe_type_info[pool->type];
        struct rxe_pool_entry *elem;
        u8 *obj;
 
 
 void *rxe_alloc(struct rxe_pool *pool)
 {
-       struct rxe_type_info *info = &rxe_type_info[pool->type];
+       const struct rxe_type_info *info = &rxe_type_info[pool->type];
        struct rxe_pool_entry *elem;
        u8 *obj;
 
        struct rxe_pool_entry *elem =
                container_of(kref, struct rxe_pool_entry, ref_cnt);
        struct rxe_pool *pool = elem->pool;
-       struct rxe_type_info *info = &rxe_type_info[pool->type];
+       const struct rxe_type_info *info = &rxe_type_info[pool->type];
        u8 *obj;
 
        if (pool->cleanup)
 
 void *rxe_pool_get_index_locked(struct rxe_pool *pool, u32 index)
 {
-       struct rxe_type_info *info = &rxe_type_info[pool->type];
+       const struct rxe_type_info *info = &rxe_type_info[pool->type];
        struct rb_node *node;
        struct rxe_pool_entry *elem;
        u8 *obj;
 
 void *rxe_pool_get_key_locked(struct rxe_pool *pool, void *key)
 {
-       struct rxe_type_info *info = &rxe_type_info[pool->type];
+       const struct rxe_type_info *info = &rxe_type_info[pool->type];
        struct rb_node *node;
        struct rxe_pool_entry *elem;
        u8 *obj;