Lines Matching refs:dr
40 static void set_node_dbginfo(struct devres *dr, const char *name, size_t size) in set_node_dbginfo() argument
42 dr->name = name; in set_node_dbginfo()
43 dr->size = size; in set_node_dbginfo()
46 static void devres_log(struct udevice *dev, struct devres *dr, in devres_log() argument
50 dev->name, op, dr, dr->name, (unsigned long)dr->size); in devres_log()
53 #define set_node_dbginfo(dr, n, s) do {} while (0) argument
54 #define devres_log(dev, dr, op) do {} while (0) argument
65 struct devres *dr; in __devres_alloc() local
67 dr = kmalloc(tot_size, gfp); in __devres_alloc()
68 if (unlikely(!dr)) in __devres_alloc()
71 INIT_LIST_HEAD(&dr->entry); in __devres_alloc()
72 dr->release = release; in __devres_alloc()
73 set_node_dbginfo(dr, name, size); in __devres_alloc()
75 return dr->data; in __devres_alloc()
81 struct devres *dr = container_of(res, struct devres, data); in devres_free() local
83 BUG_ON(!list_empty(&dr->entry)); in devres_free()
84 kfree(dr); in devres_free()
90 struct devres *dr = container_of(res, struct devres, data); in devres_add() local
92 devres_log(dev, dr, "ADD"); in devres_add()
93 BUG_ON(!list_empty(&dr->entry)); in devres_add()
94 dr->probe = dev->flags & DM_FLAG_BOUND ? true : false; in devres_add()
95 list_add_tail(&dr->entry, &dev->devres_head); in devres_add()
101 struct devres *dr; in devres_find() local
103 list_for_each_entry_reverse(dr, &dev->devres_head, entry) { in devres_find()
104 if (dr->release != release) in devres_find()
106 if (match && !match(dev, dr->data, match_data)) in devres_find()
108 return dr->data; in devres_find()
138 struct devres *dr = container_of(res, struct devres, data); in devres_remove() local
140 list_del_init(&dr->entry); in devres_remove()
141 devres_log(dev, dr, "REM"); in devres_remove()
177 struct devres *dr, *tmp; in release_nodes() local
179 list_for_each_entry_safe_reverse(dr, tmp, head, entry) { in release_nodes()
180 if (probe_only && !dr->probe) in release_nodes()
182 devres_log(dev, dr, "REL"); in release_nodes()
183 dr->release(dev, dr->data); in release_nodes()
184 list_del(&dr->entry); in release_nodes()
185 kfree(dr); in release_nodes()
202 struct devres *dr; in dump_resources() local
207 list_for_each_entry(dr, &dev->devres_head, entry) in dump_resources()
208 printf(" %p (%lu byte) %s %s\n", dr, in dump_resources()
209 (unsigned long)dr->size, dr->name, in dump_resources()
210 dr->probe ? "PROBE" : "BIND"); in dump_resources()