Lines Matching refs:dr

111 	struct devres *dr;  in alloc_dr()  local
116 dr = kmalloc_node_track_caller(tot_size, gfp, nid); in alloc_dr()
117 if (unlikely(!dr)) in alloc_dr()
120 memset(dr, 0, offsetof(struct devres, data)); in alloc_dr()
122 INIT_LIST_HEAD(&dr->node.entry); in alloc_dr()
123 dr->node.release = release; in alloc_dr()
124 return dr; in alloc_dr()
160 struct devres *dr; in __devres_alloc_node() local
162 dr = alloc_dr(release, size, gfp | __GFP_ZERO, nid); in __devres_alloc_node()
163 if (unlikely(!dr)) in __devres_alloc_node()
165 set_node_dbginfo(&dr->node, name, size); in __devres_alloc_node()
166 return dr->data; in __devres_alloc_node()
200 struct devres *dr = container_of(node, struct devres, node); in devres_for_each_res() local
204 if (match && !match(dev, dr->data, match_data)) in devres_for_each_res()
206 fn(dev, dr->data, data); in devres_for_each_res()
221 struct devres *dr = container_of(res, struct devres, data); in devres_free() local
223 BUG_ON(!list_empty(&dr->node.entry)); in devres_free()
224 kfree(dr); in devres_free()
240 struct devres *dr = container_of(res, struct devres, data); in devres_add() local
244 add_dr(dev, &dr->node); in devres_add()
255 struct devres *dr = container_of(node, struct devres, node); in find_dr() local
259 if (match && !match(dev, dr->data, match_data)) in find_dr()
261 return dr; in find_dr()
284 struct devres *dr; in devres_find() local
288 dr = find_dr(dev, release, match, match_data); in devres_find()
291 if (dr) in devres_find()
292 return dr->data; in devres_find()
315 struct devres *dr; in devres_get() local
319 dr = find_dr(dev, new_dr->node.release, match, match_data); in devres_get()
320 if (!dr) { in devres_get()
322 dr = new_dr; in devres_get()
328 return dr->data; in devres_get()
350 struct devres *dr; in devres_remove() local
354 dr = find_dr(dev, release, match, match_data); in devres_remove()
355 if (dr) { in devres_remove()
356 list_del_init(&dr->node.entry); in devres_remove()
357 devres_log(dev, &dr->node, "REM"); in devres_remove()
361 if (dr) in devres_remove()
362 return dr->data; in devres_remove()
493 struct devres *dr, *tmp; in release_nodes() local
498 list_for_each_entry_safe_reverse(dr, tmp, todo, node.entry) { in release_nodes()
499 devres_log(dev, &dr->node, "REL"); in release_nodes()
500 dr->node.release(dev, dr->data); in release_nodes()
501 kfree(dr); in release_nodes()
817 struct devres *dr; in devm_kmalloc() local
823 dr = alloc_dr(devm_kmalloc_release, size, gfp, dev_to_node(dev)); in devm_kmalloc()
824 if (unlikely(!dr)) in devm_kmalloc()
831 set_node_dbginfo(&dr->node, "devm_kzalloc_release", size); in devm_kmalloc()
832 devres_add(dev, dr->data); in devm_kmalloc()
833 return dr->data; in devm_kmalloc()