.. | .. |
---|
145 | 145 | * hash entry |
---|
146 | 146 | * @name: hashtable to iterate |
---|
147 | 147 | * @bkt: integer to use as bucket loop cursor |
---|
148 | | - * @tmp: a &struct used for temporary storage |
---|
| 148 | + * @tmp: a &struct hlist_node used for temporary storage |
---|
149 | 149 | * @obj: the type * to use as a loop cursor for each entry |
---|
150 | 150 | * @member: the name of the hlist_node within the struct |
---|
151 | 151 | */ |
---|
.. | .. |
---|
173 | 173 | * @member: the name of the hlist_node within the struct |
---|
174 | 174 | * @key: the key of the objects to iterate over |
---|
175 | 175 | */ |
---|
176 | | -#define hash_for_each_possible_rcu(name, obj, member, key) \ |
---|
| 176 | +#define hash_for_each_possible_rcu(name, obj, member, key, cond...) \ |
---|
177 | 177 | hlist_for_each_entry_rcu(obj, &name[hash_min(key, HASH_BITS(name))],\ |
---|
178 | | - member) |
---|
| 178 | + member, ## cond) |
---|
179 | 179 | |
---|
180 | 180 | /** |
---|
181 | 181 | * hash_for_each_possible_rcu_notrace - iterate over all possible objects hashing |
---|
.. | .. |
---|
197 | 197 | * same bucket safe against removals |
---|
198 | 198 | * @name: hashtable to iterate |
---|
199 | 199 | * @obj: the type * to use as a loop cursor for each entry |
---|
200 | | - * @tmp: a &struct used for temporary storage |
---|
| 200 | + * @tmp: a &struct hlist_node used for temporary storage |
---|
201 | 201 | * @member: the name of the hlist_node within the struct |
---|
202 | 202 | * @key: the key of the objects to iterate over |
---|
203 | 203 | */ |
---|