diff options
Diffstat (limited to 'net/batman-adv/hash.h')
-rw-r--r-- | net/batman-adv/hash.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/net/batman-adv/hash.h b/net/batman-adv/hash.h index d20aa71ba1e8..4768717f07f9 100644 --- a/net/batman-adv/hash.h +++ b/net/batman-adv/hash.h | |||
@@ -33,17 +33,17 @@ typedef int (*hashdata_compare_cb)(const struct hlist_node *, const void *); | |||
33 | /* the hashfunction, should return an index | 33 | /* the hashfunction, should return an index |
34 | * based on the key in the data of the first | 34 | * based on the key in the data of the first |
35 | * argument and the size the second */ | 35 | * argument and the size the second */ |
36 | typedef int (*hashdata_choose_cb)(const void *, int); | 36 | typedef uint32_t (*hashdata_choose_cb)(const void *, uint32_t); |
37 | typedef void (*hashdata_free_cb)(struct hlist_node *, void *); | 37 | typedef void (*hashdata_free_cb)(struct hlist_node *, void *); |
38 | 38 | ||
39 | struct hashtable_t { | 39 | struct hashtable_t { |
40 | struct hlist_head *table; /* the hashtable itself with the buckets */ | 40 | struct hlist_head *table; /* the hashtable itself with the buckets */ |
41 | spinlock_t *list_locks; /* spinlock for each hash list entry */ | 41 | spinlock_t *list_locks; /* spinlock for each hash list entry */ |
42 | int size; /* size of hashtable */ | 42 | uint32_t size; /* size of hashtable */ |
43 | }; | 43 | }; |
44 | 44 | ||
45 | /* allocates and clears the hash */ | 45 | /* allocates and clears the hash */ |
46 | struct hashtable_t *hash_new(int size); | 46 | struct hashtable_t *hash_new(uint32_t size); |
47 | 47 | ||
48 | /* free only the hashtable and the hash itself. */ | 48 | /* free only the hashtable and the hash itself. */ |
49 | void hash_destroy(struct hashtable_t *hash); | 49 | void hash_destroy(struct hashtable_t *hash); |
@@ -57,7 +57,7 @@ static inline void hash_delete(struct hashtable_t *hash, | |||
57 | struct hlist_head *head; | 57 | struct hlist_head *head; |
58 | struct hlist_node *node, *node_tmp; | 58 | struct hlist_node *node, *node_tmp; |
59 | spinlock_t *list_lock; /* spinlock to protect write access */ | 59 | spinlock_t *list_lock; /* spinlock to protect write access */ |
60 | int i; | 60 | uint32_t i; |
61 | 61 | ||
62 | for (i = 0; i < hash->size; i++) { | 62 | for (i = 0; i < hash->size; i++) { |
63 | head = &hash->table[i]; | 63 | head = &hash->table[i]; |
@@ -93,7 +93,8 @@ static inline int hash_add(struct hashtable_t *hash, | |||
93 | hashdata_choose_cb choose, | 93 | hashdata_choose_cb choose, |
94 | const void *data, struct hlist_node *data_node) | 94 | const void *data, struct hlist_node *data_node) |
95 | { | 95 | { |
96 | int index, ret = -1; | 96 | uint32_t index; |
97 | int ret = -1; | ||
97 | struct hlist_head *head; | 98 | struct hlist_head *head; |
98 | struct hlist_node *node; | 99 | struct hlist_node *node; |
99 | spinlock_t *list_lock; /* spinlock to protect write access */ | 100 | spinlock_t *list_lock; /* spinlock to protect write access */ |
@@ -137,7 +138,7 @@ static inline void *hash_remove(struct hashtable_t *hash, | |||
137 | hashdata_compare_cb compare, | 138 | hashdata_compare_cb compare, |
138 | hashdata_choose_cb choose, void *data) | 139 | hashdata_choose_cb choose, void *data) |
139 | { | 140 | { |
140 | size_t index; | 141 | uint32_t index; |
141 | struct hlist_node *node; | 142 | struct hlist_node *node; |
142 | struct hlist_head *head; | 143 | struct hlist_head *head; |
143 | void *data_save = NULL; | 144 | void *data_save = NULL; |