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()
122 memset(dr, 0, offsetof(struct devres, data)); in alloc_dr()
124 INIT_LIST_HEAD(&dr->node.entry); in alloc_dr()
125 dr->node.release = release; in alloc_dr()
126 return dr; in alloc_dr()
162 struct devres *dr; in __devres_alloc_node() local
164 dr = alloc_dr(release, size, gfp | __GFP_ZERO, nid); in __devres_alloc_node()
165 if (unlikely(!dr)) in __devres_alloc_node()
167 set_node_dbginfo(&dr->node, name, size); in __devres_alloc_node()
168 return dr->data; in __devres_alloc_node()
202 struct devres *dr = container_of(node, struct devres, node); in devres_for_each_res() local
206 if (match && !match(dev, dr->data, match_data)) in devres_for_each_res()
208 fn(dev, dr->data, data); in devres_for_each_res()
223 struct devres *dr = container_of(res, struct devres, data); in devres_free() local
225 BUG_ON(!list_empty(&dr->node.entry)); in devres_free()
226 kfree(dr); in devres_free()
242 struct devres *dr = container_of(res, struct devres, data); in devres_add() local
246 add_dr(dev, &dr->node); in devres_add()
257 struct devres *dr = container_of(node, struct devres, node); in find_dr() local
261 if (match && !match(dev, dr->data, match_data)) in find_dr()
263 return dr; in find_dr()
286 struct devres *dr; in devres_find() local
290 dr = find_dr(dev, release, match, match_data); in devres_find()
293 if (dr) in devres_find()
294 return dr->data; in devres_find()
317 struct devres *dr; in devres_get() local
321 dr = find_dr(dev, new_dr->node.release, match, match_data); in devres_get()
322 if (!dr) { in devres_get()
324 dr = new_dr; in devres_get()
330 return dr->data; in devres_get()
352 struct devres *dr; in devres_remove() local
356 dr = find_dr(dev, release, match, match_data); in devres_remove()
357 if (dr) { in devres_remove()
358 list_del_init(&dr->node.entry); in devres_remove()
359 devres_log(dev, &dr->node, "REM"); in devres_remove()
363 if (dr) in devres_remove()
364 return dr->data; in devres_remove()
495 struct devres *dr, *tmp; in release_nodes() local
500 list_for_each_entry_safe_reverse(dr, tmp, todo, node.entry) { in release_nodes()
501 devres_log(dev, &dr->node, "REL"); in release_nodes()
502 dr->node.release(dev, dr->data); in release_nodes()
503 kfree(dr); in release_nodes()
819 struct devres *dr; in devm_kmalloc() local
825 dr = alloc_dr(devm_kmalloc_release, size, gfp, dev_to_node(dev)); in devm_kmalloc()
826 if (unlikely(!dr)) in devm_kmalloc()
833 set_node_dbginfo(&dr->node, "devm_kzalloc_release", size); in devm_kmalloc()
834 devres_add(dev, dr->data); in devm_kmalloc()
835 return dr->data; in devm_kmalloc()