Lines Matching refs:release

20 	dr_release_t			release;
85 if (node->release == &group_open_release)
87 if (node->release == &group_close_release)
102 static __always_inline struct devres * alloc_dr(dr_release_t release,
118 dr->node.release = release;
138 void * __devres_alloc_node(dr_release_t release, size_t size, gfp_t gfp, int nid,
143 dr = alloc_dr(release, size, gfp | __GFP_ZERO, nid);
153 * @release: Release function devres will be associated with
159 * associated with @release. The returned pointer can be passed to
165 void * devres_alloc_node(dr_release_t release, size_t size, gfp_t gfp, int nid)
169 dr = alloc_dr(release, size, gfp | __GFP_ZERO, nid);
180 * @release: Look for resources associated with this release function
186 * Call @fn for each devres of @dev which is associated with @release
192 void devres_for_each_res(struct device *dev, dr_release_t release,
209 if (node->release != release)
242 * using devres_alloc(). On driver detach, the associated release
256 static struct devres *find_dr(struct device *dev, dr_release_t release,
264 if (node->release != release)
277 * @release: Look for resources associated with this release function
281 * Find the latest devres of @dev which is associated with @release
288 void * devres_find(struct device *dev, dr_release_t release,
295 dr = find_dr(dev, release, match, match_data);
311 * Find the latest devres of @dev which has the same release function
326 dr = find_dr(dev, new_dr->node.release, match, match_data);
342 * @release: Look for resources associated with this release function
346 * Find the latest devres of @dev associated with @release and for
354 void * devres_remove(struct device *dev, dr_release_t release,
361 dr = find_dr(dev, release, match, match_data);
377 * @release: Look for resources associated with this release function
381 * Find the latest devres of @dev associated with @release and for
385 * Note that the release function for the resource will not be called,
392 int devres_destroy(struct device *dev, dr_release_t release,
397 res = devres_remove(dev, release, match, match_data);
408 * devres_release - Find a device resource and destroy it, calling release
410 * @release: Look for resources associated with this release function
414 * Find the latest devres of @dev associated with @release and for
417 * release function called and the resource freed.
422 int devres_release(struct device *dev, dr_release_t release,
427 res = devres_remove(dev, release, match, match_data);
431 (*release)(dev, res);
523 dr->node.release(dev, dr->data);
532 * @dev: Device to release resources for
571 grp->node[0].release = &group_open_release;
572 grp->node[1].release = &group_close_release;
596 if (node->release != &group_open_release)
668 * @dev: Device to release group for
778 * devm_release_action() - release previously added custom action
859 * change the order in which the release callback for the re-alloc'ed devres