Lines Matching refs:dr

88 	struct devres *dr;  in alloc_dr()  local
95 dr = kmalloc_node_track_caller(tot_size, gfp, nid); in alloc_dr()
96 if (unlikely(!dr)) in alloc_dr()
99 memset(dr, 0, offsetof(struct devres, data)); in alloc_dr()
101 INIT_LIST_HEAD(&dr->node.entry); in alloc_dr()
102 dr->node.release = release; in alloc_dr()
103 return dr; in alloc_dr()
117 struct devres *dr; in __devres_alloc_node() local
119 dr = alloc_dr(release, size, gfp | __GFP_ZERO, nid); in __devres_alloc_node()
120 if (unlikely(!dr)) in __devres_alloc_node()
122 set_node_dbginfo(&dr->node, name, size); in __devres_alloc_node()
123 return dr->data; in __devres_alloc_node()
143 struct devres *dr; in devres_alloc_node() local
145 dr = alloc_dr(release, size, gfp | __GFP_ZERO, nid); in devres_alloc_node()
146 if (unlikely(!dr)) in devres_alloc_node()
148 return dr->data; in devres_alloc_node()
183 struct devres *dr = container_of(node, struct devres, node); in devres_for_each_res() local
187 if (match && !match(dev, dr->data, match_data)) in devres_for_each_res()
189 fn(dev, dr->data, data); in devres_for_each_res()
204 struct devres *dr = container_of(res, struct devres, data); in devres_free() local
206 BUG_ON(!list_empty(&dr->node.entry)); in devres_free()
207 kfree(dr); in devres_free()
223 struct devres *dr = container_of(res, struct devres, data); in devres_add() local
227 add_dr(dev, &dr->node); in devres_add()
238 struct devres *dr = container_of(node, struct devres, node); in find_dr() local
242 if (match && !match(dev, dr->data, match_data)) in find_dr()
244 return dr; in find_dr()
267 struct devres *dr; in devres_find() local
271 dr = find_dr(dev, release, match, match_data); in devres_find()
274 if (dr) in devres_find()
275 return dr->data; in devres_find()
298 struct devres *dr; in devres_get() local
302 dr = find_dr(dev, new_dr->node.release, match, match_data); in devres_get()
303 if (!dr) { in devres_get()
305 dr = new_dr; in devres_get()
311 return dr->data; in devres_get()
333 struct devres *dr; in devres_remove() local
337 dr = find_dr(dev, release, match, match_data); in devres_remove()
338 if (dr) { in devres_remove()
339 list_del_init(&dr->node.entry); in devres_remove()
340 devres_log(dev, &dr->node, "REM"); in devres_remove()
344 if (dr) in devres_remove()
345 return dr->data; in devres_remove()
488 struct devres *dr, *tmp; in release_nodes() local
497 list_for_each_entry_safe_reverse(dr, tmp, &todo, node.entry) { in release_nodes()
498 devres_log(dev, &dr->node, "REL"); in release_nodes()
499 dr->node.release(dev, dr->data); in release_nodes()
500 kfree(dr); in release_nodes()
782 struct devres *dr; in devm_kmalloc() local
785 dr = alloc_dr(devm_kmalloc_release, size, gfp, dev_to_node(dev)); in devm_kmalloc()
786 if (unlikely(!dr)) in devm_kmalloc()
793 set_node_dbginfo(&dr->node, "devm_kzalloc_release", size); in devm_kmalloc()
794 devres_add(dev, dr->data); in devm_kmalloc()
795 return dr->data; in devm_kmalloc()