Lines Matching refs:dr

96 	struct devres *dr;  in alloc_dr()  local
103 dr = kmalloc_node_track_caller(tot_size, gfp, nid); in alloc_dr()
104 if (unlikely(!dr)) in alloc_dr()
107 memset(dr, 0, offsetof(struct devres, data)); in alloc_dr()
109 INIT_LIST_HEAD(&dr->node.entry); in alloc_dr()
110 dr->node.release = release; in alloc_dr()
111 return dr; in alloc_dr()
125 struct devres *dr; in __devres_alloc_node() local
127 dr = alloc_dr(release, size, gfp | __GFP_ZERO, nid); in __devres_alloc_node()
128 if (unlikely(!dr)) in __devres_alloc_node()
130 set_node_dbginfo(&dr->node, name, size); in __devres_alloc_node()
131 return dr->data; in __devres_alloc_node()
151 struct devres *dr; in devres_alloc_node() local
153 dr = alloc_dr(release, size, gfp | __GFP_ZERO, nid); in devres_alloc_node()
154 if (unlikely(!dr)) in devres_alloc_node()
156 return dr->data; in devres_alloc_node()
191 struct devres *dr = container_of(node, struct devres, node); in devres_for_each_res() local
195 if (match && !match(dev, dr->data, match_data)) in devres_for_each_res()
197 fn(dev, dr->data, data); in devres_for_each_res()
212 struct devres *dr = container_of(res, struct devres, data); in devres_free() local
214 BUG_ON(!list_empty(&dr->node.entry)); in devres_free()
215 kfree(dr); in devres_free()
231 struct devres *dr = container_of(res, struct devres, data); in devres_add() local
235 add_dr(dev, &dr->node); in devres_add()
246 struct devres *dr = container_of(node, struct devres, node); in find_dr() local
250 if (match && !match(dev, dr->data, match_data)) in find_dr()
252 return dr; in find_dr()
275 struct devres *dr; in devres_find() local
279 dr = find_dr(dev, release, match, match_data); in devres_find()
282 if (dr) in devres_find()
283 return dr->data; in devres_find()
306 struct devres *dr; in devres_get() local
310 dr = find_dr(dev, new_dr->node.release, match, match_data); in devres_get()
311 if (!dr) { in devres_get()
313 dr = new_dr; in devres_get()
319 return dr->data; in devres_get()
341 struct devres *dr; in devres_remove() local
345 dr = find_dr(dev, release, match, match_data); in devres_remove()
346 if (dr) { in devres_remove()
347 list_del_init(&dr->node.entry); in devres_remove()
348 devres_log(dev, &dr->node, "REM"); in devres_remove()
352 if (dr) in devres_remove()
353 return dr->data; in devres_remove()
496 struct devres *dr, *tmp; in release_nodes() local
505 list_for_each_entry_safe_reverse(dr, tmp, &todo, node.entry) { in release_nodes()
506 devres_log(dev, &dr->node, "REL"); in release_nodes()
507 dr->node.release(dev, dr->data); in release_nodes()
508 kfree(dr); in release_nodes()
812 struct devres *dr; in devm_kmalloc() local
815 dr = alloc_dr(devm_kmalloc_release, size, gfp, dev_to_node(dev)); in devm_kmalloc()
816 if (unlikely(!dr)) in devm_kmalloc()
823 set_node_dbginfo(&dr->node, "devm_kzalloc_release", size); in devm_kmalloc()
824 devres_add(dev, dr->data); in devm_kmalloc()
825 return dr->data; in devm_kmalloc()