Lines Matching refs:release

21 	dr_release_t			release;
90 if (node->release == &group_open_release)
92 if (node->release == &group_close_release)
110 static __always_inline struct devres *alloc_dr(dr_release_t release,
128 dr->node.release = release;
149 * @release: Release function devres will be associated with
156 * associated with @release. The returned pointer can be passed to
162 void *__devres_alloc_node(dr_release_t release, size_t size, gfp_t gfp, int nid,
167 dr = alloc_dr(release, size, gfp | __GFP_ZERO, nid);
178 * @release: Look for resources associated with this release function
184 * Call @fn for each devres of @dev which is associated with @release
190 void devres_for_each_res(struct device *dev, dr_release_t release,
207 if (node->release != release)
240 * using devres_alloc(). On driver detach, the associated release
254 static struct devres *find_dr(struct device *dev, dr_release_t release,
262 if (node->release != release)
275 * @release: Look for resources associated with this release function
279 * Find the latest devres of @dev which is associated with @release
286 void *devres_find(struct device *dev, dr_release_t release,
293 dr = find_dr(dev, release, match, match_data);
309 * Find the latest devres of @dev which has the same release function
324 dr = find_dr(dev, new_dr->node.release, match, match_data);
340 * @release: Look for resources associated with this release function
344 * Find the latest devres of @dev associated with @release and for
352 void *devres_remove(struct device *dev, dr_release_t release,
359 dr = find_dr(dev, release, match, match_data);
375 * @release: Look for resources associated with this release function
379 * Find the latest devres of @dev associated with @release and for
383 * Note that the release function for the resource will not be called,
390 int devres_destroy(struct device *dev, dr_release_t release,
395 res = devres_remove(dev, release, match, match_data);
406 * devres_release - Find a device resource and destroy it, calling release
408 * @release: Look for resources associated with this release function
412 * Find the latest devres of @dev associated with @release and for
415 * release function called and the resource freed.
420 int devres_release(struct device *dev, dr_release_t release,
425 res = devres_remove(dev, release, match, match_data);
429 (*release)(dev, res);
505 dr->node.release(dev, dr->data);
512 * @dev: Device to release resources for
527 /* Nothing to release if list is empty */
561 grp->node[0].release = &group_open_release;
562 grp->node[1].release = &group_close_release;
587 if (node->release != &group_open_release)
659 * @dev: Device to release group for
787 * devm_release_action() - release previously added custom action
868 * change the order in which the release callback for the re-alloc'ed devres