Searched refs:release (Results 1 - 200 of 3651) sorted by relevance

1234567891011>>

/linux-4.4.14/drivers/gpu/drm/qxl/
H A Dqxl_release.c50 return "release"; qxl_get_timeline_name()
62 struct qxl_release *release; qxl_fence_wait() local
68 release = container_of(fence, struct qxl_release, base); qxl_fence_wait()
69 have_drawable_releases = release->type == QXL_RELEASE_DRAWABLE; qxl_fence_wait()
99 FENCE_WARN(fence, "failed to wait on release %d " qxl_fence_wait()
129 struct qxl_release *release; qxl_release_alloc() local
131 size_t size = sizeof(*release); qxl_release_alloc()
133 release = kmalloc(size, GFP_KERNEL); qxl_release_alloc()
134 if (!release) { qxl_release_alloc()
138 release->base.ops = NULL; qxl_release_alloc()
139 release->type = type; qxl_release_alloc()
140 release->release_offset = 0; qxl_release_alloc()
141 release->surface_release_id = 0; qxl_release_alloc()
142 INIT_LIST_HEAD(&release->bos); qxl_release_alloc()
146 handle = idr_alloc(&qdev->release_idr, release, 1, 0, GFP_NOWAIT); qxl_release_alloc()
147 release->base.seqno = ++qdev->release_seqno; qxl_release_alloc()
151 kfree(release); qxl_release_alloc()
155 *ret = release; qxl_release_alloc()
156 QXL_INFO(qdev, "allocated release %d\n", handle); qxl_release_alloc()
157 release->id = handle; qxl_release_alloc()
162 qxl_release_free_list(struct qxl_release *release) qxl_release_free_list() argument
164 while (!list_empty(&release->bos)) { qxl_release_free_list()
168 entry = container_of(release->bos.next, qxl_release_free_list()
179 struct qxl_release *release) qxl_release_free()
181 QXL_INFO(qdev, "release %d, type %d\n", release->id, qxl_release_free()
182 release->type); qxl_release_free()
184 if (release->surface_release_id) qxl_release_free()
185 qxl_surface_id_dealloc(qdev, release->surface_release_id); qxl_release_free()
188 idr_remove(&qdev->release_idr, release->id); qxl_release_free()
191 if (release->base.ops) { qxl_release_free()
192 WARN_ON(list_empty(&release->bos)); qxl_release_free()
193 qxl_release_free_list(release); qxl_release_free()
195 fence_signal(&release->base); qxl_release_free()
196 fence_put(&release->base); qxl_release_free()
198 qxl_release_free_list(release); qxl_release_free()
199 kfree(release); qxl_release_free()
214 int qxl_release_list_add(struct qxl_release *release, struct qxl_bo *bo) qxl_release_list_add() argument
218 list_for_each_entry(entry, &release->bos, tv.head) { qxl_release_list_add()
230 list_add_tail(&entry->tv.head, &release->bos); qxl_release_list_add()
257 int qxl_release_reserve_list(struct qxl_release *release, bool no_intr) qxl_release_reserve_list() argument
262 /* if only one object on the release its the release itself qxl_release_reserve_list()
264 if (list_is_singular(&release->bos)) qxl_release_reserve_list()
267 ret = ttm_eu_reserve_buffers(&release->ticket, &release->bos, qxl_release_reserve_list()
272 list_for_each_entry(entry, &release->bos, tv.head) { qxl_release_reserve_list()
277 ttm_eu_backoff_reservation(&release->ticket, &release->bos); qxl_release_reserve_list()
284 void qxl_release_backoff_reserve_list(struct qxl_release *release) qxl_release_backoff_reserve_list() argument
286 /* if only one object on the release its the release itself qxl_release_backoff_reserve_list()
288 if (list_is_singular(&release->bos)) qxl_release_backoff_reserve_list()
291 ttm_eu_backoff_reservation(&release->ticket, &release->bos); qxl_release_backoff_reserve_list()
298 struct qxl_release **release) qxl_alloc_surface_release_reserved()
306 /* stash the release after the create command */ qxl_alloc_surface_release_reserved()
307 idr_ret = qxl_release_alloc(qdev, QXL_RELEASE_SURFACE_CMD, release); qxl_alloc_surface_release_reserved()
312 (*release)->release_offset = create_rel->release_offset + 64; qxl_alloc_surface_release_reserved()
314 qxl_release_list_add(*release, bo); qxl_alloc_surface_release_reserved()
316 info = qxl_release_map(qdev, *release); qxl_alloc_surface_release_reserved()
318 qxl_release_unmap(qdev, *release, info); qxl_alloc_surface_release_reserved()
323 QXL_RELEASE_SURFACE_CMD, release, NULL); qxl_alloc_surface_release_reserved()
327 int type, struct qxl_release **release, qxl_alloc_release_reserved()
347 idr_ret = qxl_release_alloc(qdev, type, release); qxl_alloc_release_reserved()
364 qxl_release_free(qdev, *release); qxl_alloc_release_reserved()
371 (*release)->release_offset = qdev->current_release_bo_offset[cur_idx] * release_size_per_bo[cur_idx]; qxl_alloc_release_reserved()
379 ret = qxl_release_list_add(*release, bo); qxl_alloc_release_reserved()
382 qxl_release_free(qdev, *release); qxl_alloc_release_reserved()
386 info = qxl_release_map(qdev, *release); qxl_alloc_release_reserved()
388 qxl_release_unmap(qdev, *release, info); qxl_alloc_release_reserved()
396 struct qxl_release *release; qxl_release_from_id_locked() local
399 release = idr_find(&qdev->release_idr, id); qxl_release_from_id_locked()
401 if (!release) { qxl_release_from_id_locked()
406 return release; qxl_release_from_id_locked()
410 struct qxl_release *release) qxl_release_map()
414 struct qxl_bo_list *entry = list_first_entry(&release->bos, struct qxl_bo_list, tv.head); qxl_release_map()
417 ptr = qxl_bo_kmap_atomic_page(qdev, bo, release->release_offset & PAGE_SIZE); qxl_release_map()
420 info = ptr + (release->release_offset & ~PAGE_SIZE); qxl_release_map()
425 struct qxl_release *release, qxl_release_unmap()
428 struct qxl_bo_list *entry = list_first_entry(&release->bos, struct qxl_bo_list, tv.head); qxl_release_unmap()
432 ptr = ((void *)info) - (release->release_offset & ~PAGE_SIZE); qxl_release_unmap()
436 void qxl_release_fence_buffer_objects(struct qxl_release *release) qxl_release_fence_buffer_objects() argument
446 /* if only one object on the release its the release itself qxl_release_fence_buffer_objects()
448 if (list_is_singular(&release->bos) || list_empty(&release->bos)) qxl_release_fence_buffer_objects()
451 bo = list_first_entry(&release->bos, struct ttm_validate_buffer, head)->bo; qxl_release_fence_buffer_objects()
459 fence_init(&release->base, &qxl_fence_ops, &qdev->release_lock, qxl_release_fence_buffer_objects()
460 release->id | 0xf0000000, release->base.seqno); qxl_release_fence_buffer_objects()
461 trace_fence_emit(&release->base); qxl_release_fence_buffer_objects()
468 list_for_each_entry(entry, &release->bos, head) { qxl_release_fence_buffer_objects()
472 reservation_object_add_shared_fence(bo->resv, &release->base); qxl_release_fence_buffer_objects()
477 ww_acquire_fini(&release->ticket); qxl_release_fence_buffer_objects()
178 qxl_release_free(struct qxl_device *qdev, struct qxl_release *release) qxl_release_free() argument
295 qxl_alloc_surface_release_reserved(struct qxl_device *qdev, enum qxl_surface_cmd_type surface_cmd_type, struct qxl_release *create_rel, struct qxl_release **release) qxl_alloc_surface_release_reserved() argument
326 qxl_alloc_release_reserved(struct qxl_device *qdev, unsigned long size, int type, struct qxl_release **release, struct qxl_bo **rbo) qxl_alloc_release_reserved() argument
409 qxl_release_map(struct qxl_device *qdev, struct qxl_release *release) qxl_release_map() argument
424 qxl_release_unmap(struct qxl_device *qdev, struct qxl_release *release, union qxl_release_info *info) qxl_release_unmap() argument
H A Dqxl_draw.c27 struct qxl_release *release, alloc_clips()
33 return qxl_alloc_bo_reserved(qdev, release, size, clips_bo); alloc_clips()
59 alloc_drawable(struct qxl_device *qdev, struct qxl_release **release) alloc_drawable() argument
63 QXL_RELEASE_DRAWABLE, release, alloc_drawable()
69 free_drawable(struct qxl_device *qdev, struct qxl_release *release) free_drawable() argument
71 qxl_release_free(qdev, release); free_drawable()
74 /* release needs to be reserved at this point */
78 struct qxl_release *release) make_drawable()
83 drawable = (struct qxl_drawable *)qxl_release_map(qdev, release); make_drawable()
112 qxl_release_unmap(qdev, release, &drawable->release_info); make_drawable()
117 struct qxl_release *release, alloc_palette_object()
120 return qxl_alloc_bo_reserved(qdev, release, alloc_palette_object()
126 struct qxl_release *release, qxl_palette_create_1bit()
168 struct qxl_release *release; qxl_draw_opaque_fb() local
176 ret = alloc_drawable(qdev, &release); qxl_draw_opaque_fb()
180 ret = qxl_image_alloc_objects(qdev, release, qxl_draw_opaque_fb()
187 ret = alloc_palette_object(qdev, release, &palette_bo); qxl_draw_opaque_fb()
193 ret = qxl_release_reserve_list(release, true); qxl_draw_opaque_fb()
202 ret = make_drawable(qdev, 0, QXL_DRAW_COPY, &rect, release); qxl_draw_opaque_fb()
204 qxl_release_backoff_reserve_list(release); qxl_draw_opaque_fb()
208 ret = qxl_image_init(qdev, release, dimage, qxl_draw_opaque_fb()
212 qxl_release_backoff_reserve_list(release); qxl_draw_opaque_fb()
213 qxl_release_free(qdev, release); qxl_draw_opaque_fb()
219 ret = qxl_palette_create_1bit(palette_bo, release, qxl_fb_image); qxl_draw_opaque_fb()
228 drawable = (struct qxl_drawable *)qxl_release_map(qdev, release); qxl_draw_opaque_fb()
244 qxl_release_unmap(qdev, release, &drawable->release_info); qxl_draw_opaque_fb()
246 qxl_push_command_ring_release(qdev, release, QXL_CMD_DRAW, false); qxl_draw_opaque_fb()
247 qxl_release_fence_buffer_objects(release); qxl_draw_opaque_fb()
256 free_drawable(qdev, release); qxl_draw_opaque_fb()
290 struct qxl_release *release; qxl_draw_dirty_fb() local
295 ret = alloc_drawable(qdev, &release); qxl_draw_dirty_fb()
316 ret = alloc_clips(qdev, release, num_clips, &clips_bo); qxl_draw_dirty_fb()
320 ret = qxl_image_alloc_objects(qdev, release, qxl_draw_dirty_fb()
327 ret = qxl_release_reserve_list(release, true); qxl_draw_dirty_fb()
337 release); qxl_draw_dirty_fb()
346 ret = qxl_image_init(qdev, release, dimage, surface_base, qxl_draw_dirty_fb()
356 drawable = (struct qxl_drawable *)qxl_release_map(qdev, release); qxl_draw_dirty_fb()
375 qxl_release_unmap(qdev, release, &drawable->release_info); qxl_draw_dirty_fb()
386 qxl_push_command_ring_release(qdev, release, QXL_CMD_DRAW, false); qxl_draw_dirty_fb()
387 qxl_release_fence_buffer_objects(release); qxl_draw_dirty_fb()
391 qxl_release_backoff_reserve_list(release); qxl_draw_dirty_fb()
399 free_drawable(qdev, release); qxl_draw_dirty_fb()
410 struct qxl_release *release; qxl_draw_copyarea() local
413 ret = alloc_drawable(qdev, &release); qxl_draw_copyarea()
418 ret = qxl_release_reserve_list(release, true); qxl_draw_copyarea()
426 ret = make_drawable(qdev, 0, QXL_COPY_BITS, &rect, release); qxl_draw_copyarea()
428 qxl_release_backoff_reserve_list(release); qxl_draw_copyarea()
432 drawable = (struct qxl_drawable *)qxl_release_map(qdev, release); qxl_draw_copyarea()
435 qxl_release_unmap(qdev, release, &drawable->release_info); qxl_draw_copyarea()
437 qxl_push_command_ring_release(qdev, release, QXL_CMD_DRAW, false); qxl_draw_copyarea()
438 qxl_release_fence_buffer_objects(release); qxl_draw_copyarea()
442 free_drawable(qdev, release); qxl_draw_copyarea()
452 struct qxl_release *release; qxl_draw_fill() local
455 ret = alloc_drawable(qdev, &release); qxl_draw_fill()
460 ret = qxl_release_reserve_list(release, true); qxl_draw_fill()
464 ret = make_drawable(qdev, 0, QXL_DRAW_FILL, &rect, release); qxl_draw_fill()
466 qxl_release_backoff_reserve_list(release); qxl_draw_fill()
470 drawable = (struct qxl_drawable *)qxl_release_map(qdev, release); qxl_draw_fill()
479 qxl_release_unmap(qdev, release, &drawable->release_info); qxl_draw_fill()
481 qxl_push_command_ring_release(qdev, release, QXL_CMD_DRAW, false); qxl_draw_fill()
482 qxl_release_fence_buffer_objects(release); qxl_draw_fill()
486 free_drawable(qdev, release); qxl_draw_fill()
26 alloc_clips(struct qxl_device *qdev, struct qxl_release *release, unsigned num_clips, struct qxl_bo **clips_bo) alloc_clips() argument
76 make_drawable(struct qxl_device *qdev, int surface, uint8_t type, const struct qxl_rect *rect, struct qxl_release *release) make_drawable() argument
116 alloc_palette_object(struct qxl_device *qdev, struct qxl_release *release, struct qxl_bo **palette_bo) alloc_palette_object() argument
125 qxl_palette_create_1bit(struct qxl_bo *palette_bo, struct qxl_release *release, const struct qxl_fb_image *qxl_fb_image) qxl_palette_create_1bit() argument
H A Dqxl_cmd.c178 qxl_push_command_ring_release(struct qxl_device *qdev, struct qxl_release *release, qxl_push_command_ring_release() argument
182 struct qxl_bo_list *entry = list_first_entry(&release->bos, struct qxl_bo_list, tv.head); qxl_push_command_ring_release()
185 cmd.data = qxl_bo_physical_address(qdev, to_qxl_bo(entry->tv.bo), release->release_offset); qxl_push_command_ring_release()
191 qxl_push_cursor_ring_release(struct qxl_device *qdev, struct qxl_release *release, qxl_push_cursor_ring_release() argument
195 struct qxl_bo_list *entry = list_first_entry(&release->bos, struct qxl_bo_list, tv.head); qxl_push_cursor_ring_release()
198 cmd.data = qxl_bo_physical_address(qdev, to_qxl_bo(entry->tv.bo), release->release_offset); qxl_push_cursor_ring_release()
216 struct qxl_release *release; qxl_garbage_collect() local
224 release = qxl_release_from_id_locked(qdev, id); qxl_garbage_collect()
225 if (release == NULL) qxl_garbage_collect()
228 info = qxl_release_map(qdev, release); qxl_garbage_collect()
230 qxl_release_unmap(qdev, release, info); qxl_garbage_collect()
235 switch (release->type) { qxl_garbage_collect()
241 DRM_ERROR("unexpected release type\n"); qxl_garbage_collect()
246 qxl_release_free(qdev, release); qxl_garbage_collect()
257 struct qxl_release *release, qxl_alloc_bo_reserved()
270 ret = qxl_release_list_add(release, bo); qxl_alloc_bo_reserved()
490 struct qxl_release *release; qxl_hw_surface_alloc() local
498 &release); qxl_hw_surface_alloc()
502 ret = qxl_release_reserve_list(release, true); qxl_hw_surface_alloc()
506 cmd = (struct qxl_surface_cmd *)qxl_release_map(qdev, release); qxl_hw_surface_alloc()
524 qxl_release_unmap(qdev, release, &cmd->release_info); qxl_hw_surface_alloc()
526 surf->surf_create = release; qxl_hw_surface_alloc()
528 /* no need to add a release to the fence for this surface bo, qxl_hw_surface_alloc()
531 qxl_push_command_ring_release(qdev, release, QXL_CMD_SURFACE, false); qxl_hw_surface_alloc()
532 qxl_release_fence_buffer_objects(release); qxl_hw_surface_alloc()
545 struct qxl_release *release; qxl_hw_surface_dealloc() local
554 &release); qxl_hw_surface_dealloc()
568 release->surface_release_id = id; qxl_hw_surface_dealloc()
569 cmd = (struct qxl_surface_cmd *)qxl_release_map(qdev, release); qxl_hw_surface_dealloc()
572 qxl_release_unmap(qdev, release, &cmd->release_info); qxl_hw_surface_dealloc()
574 qxl_push_command_ring_release(qdev, release, QXL_CMD_SURFACE, false); qxl_hw_surface_dealloc()
576 qxl_release_fence_buffer_objects(release); qxl_hw_surface_dealloc()
256 qxl_alloc_bo_reserved(struct qxl_device *qdev, struct qxl_release *release, unsigned long size, struct qxl_bo **_bo) qxl_alloc_bo_reserved() argument
H A Dqxl_ioctl.c112 struct qxl_release *release, struct qxl_bo **qbo_p) qxlhw_handle_to_bo()
124 ret = qxl_release_list_add(release, qobj); qxlhw_handle_to_bo()
145 struct qxl_release *release; qxl_process_single_command() local
180 &release, qxl_process_single_command()
186 fb_cmd = qxl_bo_kmap_atomic_page(qdev, cmd_bo, (release->release_offset & PAGE_SIZE)); qxl_process_single_command()
187 unwritten = __copy_from_user_inatomic_nocache(fb_cmd + sizeof(union qxl_release_info) + (release->release_offset & ~PAGE_SIZE), (void *)(unsigned long)cmd->command, cmd->command_size); qxl_process_single_command()
224 ret = qxlhw_handle_to_bo(qdev, file_priv, reloc.dst_handle, release, qxl_process_single_command()
231 reloc_info[i].dst_offset = reloc.dst_offset + release->release_offset; qxl_process_single_command()
237 ret = qxlhw_handle_to_bo(qdev, file_priv, reloc.src_handle, release, qxl_process_single_command()
249 ret = qxl_release_reserve_list(release, false); qxl_process_single_command()
260 ret = qxl_push_command_ring_release(qdev, release, cmd->type, true); qxl_process_single_command()
262 qxl_release_backoff_reserve_list(release); qxl_process_single_command()
264 qxl_release_fence_buffer_objects(release); qxl_process_single_command()
269 qxl_release_free(qdev, release); qxl_process_single_command()
110 qxlhw_handle_to_bo(struct qxl_device *qdev, struct drm_file *file_priv, uint64_t handle, struct qxl_release *release, struct qxl_bo **qbo_p) qxlhw_handle_to_bo() argument
H A Dqxl_image.c34 struct qxl_release *release, qxl_allocate_chunk()
45 ret = qxl_alloc_bo_reserved(qdev, release, chunk_size, &chunk->bo); qxl_allocate_chunk()
57 struct qxl_release *release, qxl_image_alloc_objects()
70 ret = qxl_alloc_bo_reserved(qdev, release, sizeof(struct qxl_image), &image->bo); qxl_image_alloc_objects()
76 ret = qxl_allocate_chunk(qdev, release, image, sizeof(struct qxl_data_chunk) + stride * height); qxl_image_alloc_objects()
101 struct qxl_release *release, qxl_image_init_helper()
228 struct qxl_release *release, qxl_image_init()
235 return qxl_image_init_helper(qdev, release, dimage, data, qxl_image_init()
33 qxl_allocate_chunk(struct qxl_device *qdev, struct qxl_release *release, struct qxl_drm_image *image, unsigned int chunk_size) qxl_allocate_chunk() argument
56 qxl_image_alloc_objects(struct qxl_device *qdev, struct qxl_release *release, struct qxl_drm_image **image_ptr, int height, int stride) qxl_image_alloc_objects() argument
100 qxl_image_init_helper(struct qxl_device *qdev, struct qxl_release *release, struct qxl_drm_image *dimage, const uint8_t *data, int width, int height, int depth, unsigned int hash, int stride) qxl_image_init_helper() argument
227 qxl_image_init(struct qxl_device *qdev, struct qxl_release *release, struct qxl_drm_image *dimage, const uint8_t *data, int x, int y, int width, int height, int depth, int stride) qxl_image_init() argument
H A Dqxl_drv.h445 struct qxl_release *release,
452 struct qxl_release *release,
478 struct qxl_release *release);
480 struct qxl_release *release,
482 int qxl_release_list_add(struct qxl_release *release, struct qxl_bo *bo);
483 int qxl_release_reserve_list(struct qxl_release *release, bool no_intr);
484 void qxl_release_backoff_reserve_list(struct qxl_release *release);
485 void qxl_release_fence_buffer_objects(struct qxl_release *release);
490 struct qxl_release **release);
492 int type, struct qxl_release **release,
496 qxl_push_command_ring_release(struct qxl_device *qdev, struct qxl_release *release,
499 qxl_push_cursor_ring_release(struct qxl_device *qdev, struct qxl_release *release,
502 struct qxl_release *release,
525 struct qxl_release *release);
H A Dqxl_display.c276 struct qxl_release *release; qxl_hide_cursor() local
281 &release, NULL); qxl_hide_cursor()
285 ret = qxl_release_reserve_list(release, true); qxl_hide_cursor()
287 qxl_release_free(qdev, release); qxl_hide_cursor()
291 cmd = (struct qxl_cursor_cmd *)qxl_release_map(qdev, release); qxl_hide_cursor()
293 qxl_release_unmap(qdev, release, &cmd->release_info); qxl_hide_cursor()
295 qxl_push_cursor_ring_release(qdev, release, QXL_CMD_CURSOR, false); qxl_hide_cursor()
296 qxl_release_fence_buffer_objects(release); qxl_hide_cursor()
313 struct qxl_release *release; qxl_crtc_cursor_set2() local
344 &release, NULL); qxl_crtc_cursor_set2()
348 ret = qxl_alloc_bo_reserved(qdev, release, sizeof(struct qxl_cursor) + size, qxl_crtc_cursor_set2()
353 ret = qxl_release_reserve_list(release, false); qxl_crtc_cursor_set2()
383 cmd = (struct qxl_cursor_cmd *)qxl_release_map(qdev, release); qxl_crtc_cursor_set2()
391 qxl_release_unmap(qdev, release, &cmd->release_info); qxl_crtc_cursor_set2()
393 qxl_push_cursor_ring_release(qdev, release, QXL_CMD_CURSOR, false); qxl_crtc_cursor_set2()
394 qxl_release_fence_buffer_objects(release); qxl_crtc_cursor_set2()
409 qxl_release_backoff_reserve_list(release); qxl_crtc_cursor_set2()
413 qxl_release_free(qdev, release); qxl_crtc_cursor_set2()
429 struct qxl_release *release; qxl_crtc_cursor_move() local
434 &release, NULL); qxl_crtc_cursor_move()
438 ret = qxl_release_reserve_list(release, true); qxl_crtc_cursor_move()
440 qxl_release_free(qdev, release); qxl_crtc_cursor_move()
447 cmd = (struct qxl_cursor_cmd *)qxl_release_map(qdev, release); qxl_crtc_cursor_move()
451 qxl_release_unmap(qdev, release, &cmd->release_info); qxl_crtc_cursor_move()
453 qxl_push_cursor_ring_release(qdev, release, QXL_CMD_CURSOR, false); qxl_crtc_cursor_move()
454 qxl_release_fence_buffer_objects(release); qxl_crtc_cursor_move()
/linux-4.4.14/include/uapi/linux/
H A Dutsname.h9 char release[9]; member in struct:oldold_utsname
19 char release[65]; member in struct:old_utsname
27 char release[__NEW_UTS_LEN + 1]; member in struct:new_utsname
H A Disdn_divertif.h21 #define DIVERT_CMD_REL 0x01 /* release command */
H A Dvt.h22 short relsig; /* signal to raise on release req */
40 #define VT_RELDISP 0x5605 /* release display */
/linux-4.4.14/include/linux/
H A Dbsg.h14 void (*release)(struct device *); member in struct:bsg_class_device
19 void (*release)(struct device *));
24 void (*release)(struct device *)) bsg_register_queue()
H A Dkref.h53 * @release: pointer to the function that will clean up the object when the
61 * Subtract @count from the refcount, and if 0, call release().
68 void (*release)(struct kref *kref))
70 WARN_ON(release == NULL);
73 release(kref);
82 * @release: pointer to the function that will clean up the object when the
90 * Decrement the refcount, and if 0, call release().
96 static inline int kref_put(struct kref *kref, void (*release)(struct kref *kref)) kref_put()
98 return kref_sub(kref, 1, release); kref_put()
102 void (*release)(struct kref *kref), kref_put_mutex()
105 WARN_ON(release == NULL); kref_put_mutex()
112 release(kref); kref_put_mutex()
H A Discsi_boot_sysfs.h75 * be freed for the LLD when the kobj release function is called.
97 * Driver specific release function.
101 void (*release) (void *data); member in struct:iscsi_boot_kobj
114 void (*release) (void *data));
121 void (*release) (void *data));
127 void (*release) (void *data));
H A Dposix-clock.h52 * @release: Optional character device release method
96 int (*release) (struct posix_clock *pc); member in struct:posix_clock_operations
110 * @release: A function to free the structure when the reference count reaches
123 void (*release)(struct posix_clock *clk); member in struct:posix_clock
128 * @clk: Pointer to the clock. Caller must provide 'ops' and 'release'
133 * memory, then the caller must provide a 'release' function to free
147 * point it will be deallocated with its 'release' method.
H A Dvfio.h25 * @release: Called when userspace releases file descriptor for device
31 * @request: Request for the bus driver to release the device
36 void (*release)(void *device_data); member in struct:vfio_device_ops
63 void (*release)(void *iommu_data); member in struct:vfio_iommu_driver_ops
H A Drwsem.h126 * release a read lock
131 * release a write lock
165 * Take/release a lock when not the owner will release it.
H A Deventpoll.h33 /* Used to release the epoll bits inside the "struct file" */
46 * Fast check to avoid the get/release of the semaphore. Since eventpoll_release()
H A Duio_driver.h91 * @release: release operation for this uio device
106 int (*release)(struct uio_info *info, struct inode *inode); member in struct:uio_info
/linux-4.4.14/fs/proc/
H A Dversion.c12 utsname()->release, version_proc_show()
26 .release = single_release,
H A Dcmdline.c21 .release = single_release,
H A Dcpuinfo.c16 .release = seq_release,
H A Dsoftirqs.c36 .release = single_release,
H A Dinode.c153 pde->proc_fops->release(file_inode(file), file); close_pdeo()
311 int (*release)(struct inode *, struct file *); proc_reg_open()
316 * sequence. ->release won't be called because ->proc_fops will be proc_reg_open()
317 * cleared. Depending on complexity of ->release, consequences vary. proc_reg_open()
320 * deadlockable: rmmod foo </proc/foo . So, we're going to do ->release proc_reg_open()
333 release = pde->proc_fops->release; proc_reg_open()
338 if (rv == 0 && release) { proc_reg_open()
339 /* To know what to release. */ proc_reg_open()
341 /* Strictly for "too late" ->release in proc_reg_release(). */ proc_reg_open()
379 .release = proc_reg_release,
392 .release = proc_reg_release,
H A Dinterrupts.c45 .release = seq_release,
H A Dloadavg.c37 .release = single_release,
H A Ddevices.c62 .release = seq_release,
H A Dkmsg.c55 .release = kmsg_release,
H A Duptime.c44 .release = single_release,
H A Dconsoles.c104 .release = seq_release,
/linux-4.4.14/drivers/message/fusion/lsi/
H A Dmpi_type.h16 * 05-08-00 00.10.01 Original release for 0.10 spec dated 4/26/2000.
17 * 06-06-00 01.00.01 Update version number for 1.0 release.
18 * 11-02-00 01.01.01 Original release for post 1.0 work
20 * 08-08-01 01.02.01 Original release for v1.2 work.
21 * 05-11-04 01.03.01 Original release for MPI v1.3.
22 * 08-19-04 01.05.01 Original release for MPI v1.5.
H A Dmpi_lan.h16 * 05-08-00 00.10.01 Original release for 0.10 spec dated 4/26/2000.
20 * 06-06-00 01.00.01 Update version number for 1.0 release.
27 * 11-02-00 01.01.01 Original release for post 1.0 work
30 * 08-08-01 01.02.01 Original release for v1.2 work.
31 * 05-11-04 01.03.01 Original release for MPI v1.3.
32 * 08-19-04 01.05.01 Original release for MPI v1.5.
H A Dmpi_raid.h16 * 02-27-01 01.01.01 Original release for this file.
18 * 08-08-01 01.02.01 Original release for v1.2 work.
31 * 05-11-04 01.03.01 Original release for MPI v1.3.
32 * 08-19-04 01.05.01 Original release for MPI v1.5.
H A Dmpi_fc.h16 * 05-08-00 00.10.01 Original release for 0.10 spec dated 4/26/2000.
17 * 06-06-00 01.00.01 Update version number for 1.0 release.
19 * 11-02-00 01.01.01 Original release for post 1.0 work
35 * 08-08-01 01.02.01 Original release for v1.2 work.
40 * 05-11-04 01.03.01 Original release for MPI v1.3.
41 * 08-19-04 01.05.01 Original release for MPI v1.5.
/linux-4.4.14/drivers/md/
H A Ddm-builtin.c4 * The kobject release method must not be placed in the module itself,
7 * The release method is called when the last reference to the kobject is
11 * The release method suffers from module unload race. We may prevent the
12 * module from being unloaded at the start of the release method (using
13 * increased module reference count or synchronizing against the release
15 * unloaded at the end of the release method.
39 * In order to fix this module unload race, we place the release method
/linux-4.4.14/drivers/scsi/
H A Dscsi_module.c24 if (!sht->release) { init_this_scsi_driver()
26 "scsi HBA driver %s didn't set a release method.\n", init_this_scsi_driver()
60 sht->release(shost); exit_this_scsi_driver()
H A Discsi_boot_sysfs.c67 if (boot_kobj->release) iscsi_boot_kobj_release()
68 boot_kobj->release(boot_kobj->data); iscsi_boot_kobj_release()
73 .release = iscsi_boot_kobj_release,
310 void (*release) (void *data)) iscsi_boot_create_kobj()
328 boot_kobj->release = release; iscsi_boot_create_kobj()
334 * the boot kobj was not setup and the normal release iscsi_boot_create_kobj()
337 boot_kobj->release = NULL; iscsi_boot_create_kobj()
363 * @release: release function
373 void (*release) (void *data)) iscsi_boot_create_target()
377 release); iscsi_boot_create_target()
388 * @release: release function
398 void (*release) (void *data)) iscsi_boot_create_initiator()
403 is_visible, release); iscsi_boot_create_initiator()
414 * @release: release function
424 void (*release) (void *data)) iscsi_boot_create_ethernet()
429 is_visible, release); iscsi_boot_create_ethernet()
/linux-4.4.14/sound/pci/asihpi/
H A Dhpi_version.h22 /** Construct hpi version number from major, minor, release numbers */
29 /** Extract release from hpi version number */
/linux-4.4.14/arch/mips/lasat/image/
H A Dhead.S30 release: label
/linux-4.4.14/arch/ia64/sn/kernel/sn2/
H A Dsn_proc_fs.c68 .release = single_release,
75 .release = single_release,
82 .release = single_release,
89 .release = single_release,
96 .release = sn_topology_release,
/linux-4.4.14/drivers/base/
H A Ddevres.c18 dr_release_t release; member in struct:devres_node
77 if (node->release == &group_open_release) node_to_group()
79 if (node->release == &group_close_release) node_to_group()
84 static __always_inline struct devres * alloc_dr(dr_release_t release, alloc_dr() argument
97 dr->node.release = release; alloc_dr()
109 void * __devres_alloc_node(dr_release_t release, size_t size, gfp_t gfp, int nid, __devres_alloc_node() argument
114 dr = alloc_dr(release, size, gfp | __GFP_ZERO, nid); __devres_alloc_node()
124 * @release: Release function devres will be associated with
130 * associated with @release. The returned pointer can be passed to
136 void * devres_alloc_node(dr_release_t release, size_t size, gfp_t gfp, int nid) devres_alloc_node() argument
140 dr = alloc_dr(release, size, gfp | __GFP_ZERO, nid); devres_alloc_node()
151 * @release: Look for resources associated with this release function
157 * Call @fn for each devres of @dev which is associated with @release
163 void devres_for_each_res(struct device *dev, dr_release_t release, devres_for_each_res() argument
180 if (node->release != release) devres_for_each_res()
213 * using devres_alloc(). On driver detach, the associated release
227 static struct devres *find_dr(struct device *dev, dr_release_t release, find_dr() argument
235 if (node->release != release) find_dr()
248 * @release: Look for resources associated with this release function
252 * Find the latest devres of @dev which is associated with @release
259 void * devres_find(struct device *dev, dr_release_t release, devres_find() argument
266 dr = find_dr(dev, release, match, match_data); devres_find()
282 * Find the latest devres of @dev which has the same release function
297 dr = find_dr(dev, new_dr->node.release, match, match_data); devres_get()
313 * @release: Look for resources associated with this release function
317 * Find the latest devres of @dev associated with @release and for
325 void * devres_remove(struct device *dev, dr_release_t release, devres_remove() argument
332 dr = find_dr(dev, release, match, match_data); devres_remove()
348 * @release: Look for resources associated with this release function
352 * Find the latest devres of @dev associated with @release and for
356 * Note that the release function for the resource will not be called,
363 int devres_destroy(struct device *dev, dr_release_t release, devres_destroy() argument
368 res = devres_remove(dev, release, match, match_data); devres_destroy()
379 * devres_release - Find a device resource and destroy it, calling release
381 * @release: Look for resources associated with this release function
385 * Find the latest devres of @dev associated with @release and for
388 * release function called and the resource freed.
393 int devres_release(struct device *dev, dr_release_t release, devres_release() argument
398 res = devres_remove(dev, release, match, match_data); devres_release()
402 (*release)(dev, res); devres_release()
494 dr->node.release(dev, dr->data);
503 * @dev: Device to release resources for
542 grp->node[0].release = &group_open_release; devres_open_group()
543 grp->node[1].release = &group_close_release; devres_open_group()
567 if (node->release != &group_open_release) find_group()
639 * @dev: Device to release group for
/linux-4.4.14/drivers/xen/xenfs/
H A Dxenstored.c52 .release = xsd_release,
67 .release = xsd_release,
/linux-4.4.14/drivers/hid/
H A Dhid-roccat-kovaplus.h88 /* data1 = profile_number range 1-5; no release event */
90 /* data1 = profile_number range 1-5; no release event */
100 /* data1 = 1 = 400, 2 = 800, 4 = 1600, 7 = 3200; no release event */
102 /* data1 + data2 = sense range 1-10; no release event */
/linux-4.4.14/net/wireless/
H A Dethtool.c13 strlcpy(info->version, init_utsname()->release, sizeof(info->version)); cfg80211_get_drvinfo()
/linux-4.4.14/sound/core/seq/
H A Dseq_lock.h16 /* release lock */
/linux-4.4.14/include/linux/ceph/
H A Ddebugfs.h17 .release = single_release, \
/linux-4.4.14/drivers/ide/
H A Drapide.c46 goto release; rapide_probe()
55 goto release; rapide_probe()
60 release: rapide_probe()
H A Dide-disk_proc.c64 .release = single_release,
85 .release = single_release,
126 .release = single_release,
144 .release = single_release,
H A Dide-floppy_proc.c26 .release = single_release,
H A Dide-proc.c69 .release = single_release,
93 .release = single_release,
114 .release = single_release,
154 .release = single_release,
440 .release = single_release,
460 .release = single_release,
485 .release = single_release,
508 .release = single_release,
581 .release = single_release,
612 .release = single_release,
773 .release = single_release,
/linux-4.4.14/drivers/dma-buf/
H A Dseqno-fence.c57 if (f->ops->release) seqno_release()
58 f->ops->release(fence); seqno_release()
77 .release = seqno_release,
/linux-4.4.14/include/media/
H A Dsoc_camera_platform.h38 void (*release)(struct device *dev), soc_camera_platform_add()
59 (*pdev)->dev.release = release; soc_camera_platform_add()
H A Dmedia-devnode.h51 int (*release) (struct file *); member in struct:media_file_operations
62 * @release: release callback called at the end of media_devnode_release()
83 void (*release)(struct media_devnode *mdev); member in struct:media_devnode
H A Dv4l2-dev.h76 int (*release) (struct file *); member in struct:v4l2_file_operations
133 void (*release)(struct video_device *vdev); member in struct:video_device
153 the release() callback of the video_device structure is *not* called, so
174 /* helper functions to alloc/release struct video_device, the
175 latter can also be used for video_device->release(). */
178 /* this release function frees the vdev pointer */
181 /* this release function does nothing, use when the video_device is a
H A Dv4l2-fh.h74 * v4l2_file_operations->release() handler if the driver uses v4l2_fh.
81 * framework using the v4l2_fh must release their resources here, too.
82 * Must be called in v4l2_file_operations->release() handler if the
87 * Can be used as the release() op of v4l2_file_operations.
/linux-4.4.14/kernel/
H A Ddma.c26 * All drivers needing DMA channels, should allocate and release them
30 * the same sequence and release them in the reverse order.
33 * When releasing them, first release the DMA, then release the IRQ.
146 .release = single_release,
H A Dexec_domain.c39 .release = single_release,
H A Dutsname_sysctl.c79 .data = init_uts_ns.name.release,
80 .maxlen = sizeof(init_uts_ns.name.release),
/linux-4.4.14/arch/arm64/kernel/
H A Dsmp_spin_table.c63 if (of_property_read_u64(dn, "cpu-release-addr", smp_spin_table_cpu_init()
65 pr_err("CPU %d: missing or invalid cpu-release-addr property\n", smp_spin_table_cpu_init()
82 * The cpu-release-addr may or may not be inside the linear mapping. smp_spin_table_cpu_prepare()
93 * We write the release address as LE regardless of the native smp_spin_table_cpu_prepare()
116 * Update the pen release flag. smp_spin_table_cpu_boot()
/linux-4.4.14/drivers/uwb/
H A Dumc-dev.c37 umc->dev.release = umc_device_release; umc_device_create()
81 * resource release thing and then we try to release any left over
/linux-4.4.14/net/ipv4/netfilter/
H A Dnf_conntrack_l3proto_ipv4_compat.c132 goto release; ct_seq_show()
134 goto release; ct_seq_show()
151 goto release; ct_seq_show()
157 goto release; ct_seq_show()
160 goto release; ct_seq_show()
169 goto release; ct_seq_show()
172 goto release; ct_seq_show()
186 goto release; ct_seq_show()
189 release: ct_seq_show()
212 .release = seq_release_net,
326 .release = seq_release_net,
419 .release = seq_release_net,
/linux-4.4.14/drivers/ras/
H A Ddebugfs.c34 .release = trace_release,
/linux-4.4.14/init/
H A Dversion.c32 .release = UTS_RELEASE,
/linux-4.4.14/fs/qnx4/
H A Dbitmap.c10 * 28-05-1998 by Richard Frowijn : first release.
H A Ddir.c10 * 28-05-1998 by Richard Frowijn : first release.
/linux-4.4.14/fs/qnx6/
H A Dnamei.c8 * 01-02-2012 by Kai Bankett (chaosman@ontika.net) : first release.
/linux-4.4.14/arch/mips/include/asm/sn/sn0/
H A Dhub.h12 /* The secret password; used to release protection */
/linux-4.4.14/arch/s390/include/uapi/asm/
H A Dmonwriter.h24 unsigned short release; member in struct:monwrite_hdr
/linux-4.4.14/tools/lib/lockdep/uinclude/linux/
H A Dlockdep.h46 .release = "liblockdep", init_utsname()
/linux-4.4.14/tools/perf/util/
H A Dwrapper.c7 * There's no pack memory to release - but stay close to the Git
/linux-4.4.14/mm/
H A Dmmu_notifier.c26 * This function allows mmu_notifier::release callback to delay a call to
63 * ->release returns. __mmu_notifier_release()
68 * If ->release runs before mmu_notifier_unregister it must be __mmu_notifier_release()
73 if (mn->ops->release) __mmu_notifier_release()
74 mn->ops->release(mn, mm); __mmu_notifier_release()
84 * for ->release to finish and for mmu_notifier_unregister to __mmu_notifier_release()
95 * until the ->release method returns, if it was invoked by __mmu_notifier_release()
312 * after exit_mmap. ->release will always be called before exit_mmap
344 * calling mmu_notifier_unregister. ->release or any other notifier
347 * that ->release or any other method can't run anymore.
355 * SRCU here will force exit_mmap to wait for ->release to mmu_notifier_unregister()
363 * that ->release is called before freeing the pages. mmu_notifier_unregister()
365 if (mn->ops->release) mmu_notifier_unregister()
366 mn->ops->release(mn, mm); mmu_notifier_unregister()
380 * ->release if it was run by mmu_notifier_release instead of us. mmu_notifier_unregister()
H A Dslab_common.c451 struct list_head *release, bool *need_rcu_barrier) shutdown_cache()
459 list_move(&s->list, release); shutdown_cache()
463 static void release_caches(struct list_head *release, bool need_rcu_barrier) release_caches() argument
470 list_for_each_entry_safe(s, s2, release, list) { list_for_each_entry_safe()
592 struct list_head *release, bool *need_rcu_barrier) __shutdown_memcg_cache()
596 if (shutdown_cache(s, release, need_rcu_barrier)) __shutdown_memcg_cache()
605 LIST_HEAD(release); memcg_destroy_kmem_caches()
620 BUG_ON(__shutdown_memcg_cache(s, &release, &need_rcu_barrier)); memcg_destroy_kmem_caches()
627 release_caches(&release, need_rcu_barrier); memcg_destroy_kmem_caches()
631 struct list_head *release, bool *need_rcu_barrier) shutdown_memcg_caches()
650 if (__shutdown_memcg_cache(c, release, need_rcu_barrier)) for_each_memcg_cache_index()
673 __shutdown_memcg_cache(c, release, need_rcu_barrier);
687 struct list_head *release, bool *need_rcu_barrier) shutdown_memcg_caches()
702 LIST_HEAD(release); kmem_cache_destroy()
718 err = shutdown_memcg_caches(s, &release, &need_rcu_barrier); kmem_cache_destroy()
720 err = shutdown_cache(s, &release, &need_rcu_barrier); kmem_cache_destroy()
733 release_caches(&release, need_rcu_barrier); kmem_cache_destroy()
1169 .release = seq_release,
450 shutdown_cache(struct kmem_cache *s, struct list_head *release, bool *need_rcu_barrier) shutdown_cache() argument
591 __shutdown_memcg_cache(struct kmem_cache *s, struct list_head *release, bool *need_rcu_barrier) __shutdown_memcg_cache() argument
630 shutdown_memcg_caches(struct kmem_cache *s, struct list_head *release, bool *need_rcu_barrier) shutdown_memcg_caches() argument
686 shutdown_memcg_caches(struct kmem_cache *s, struct list_head *release, bool *need_rcu_barrier) shutdown_memcg_caches() argument
/linux-4.4.14/drivers/media/usb/pwc/
H A Dpwc-dec1.c5 NOTE: this version of pwc is an unofficial (modified) release of pwc & pcwx
31 pdec->version = pdev->release; pwc_dec1_init()
H A Dpwc-dec1.h4 NOTE: this version of pwc is an unofficial (modified) release of pwc & pcwx
H A Dpwc-kiara.h4 NOTE: this version of pwc is an unofficial (modified) release of pwc & pcwx
/linux-4.4.14/drivers/gpu/drm/nouveau/include/nvkm/core/
H A Dmemory.h25 void (*release)(struct nvkm_memory *); member in struct:nvkm_memory_func
52 #define nvkm_done(o) (o)->func->release(o)
H A Dgpuobj.h28 void (*release)(struct nvkm_gpuobj *); member in struct:nvkm_gpuobj_func
/linux-4.4.14/drivers/block/
H A Dloop.h84 /* release is called from loop_unregister_transfer or clr_fd */
85 int (*release)(struct loop_device *); member in struct:loop_func_table
/linux-4.4.14/arch/arm/mach-axxia/
H A Dplatsmp.c72 if (of_property_read_u32(np, "cpu-release-addr", &release_phys)) for_each_possible_cpu()
89 CPU_METHOD_OF_DECLARE(axxia_smp, "lsi,syscon-release", &axxia_smp_ops);
/linux-4.4.14/arch/powerpc/kernel/
H A Dmce.c130 * release Flag to indicate whether to free the event slot or not.
131 * 0 <= do not release the mce event. Caller will invoke
133 * 1 <= release the slot.
144 int get_mce_event(struct machine_check_event *mce, bool release) get_mce_event() argument
157 /* Copy the event structure and release the original */ get_mce_event()
160 if (release) get_mce_event()
165 if (release) get_mce_event()
/linux-4.4.14/drivers/media/
H A Dmedia-devnode.c75 if (mdev->release) media_devnode_release()
76 mdev->release(mdev); media_devnode_release()
191 /* Override for the release function */ media_release()
196 if (mdev->fops->release) media_release()
197 mdev->fops->release(filp); media_release()
199 /* decrease the refcount unconditionally since the release() media_release()
215 .release = media_release,
230 * Note that if the media_devnode_register call fails, the release() callback of
267 mdev->dev.release = media_devnode_release; media_devnode_register()
/linux-4.4.14/include/drm/ttm/
H A Dttm_object.h34 * and release on file close.
117 * This function may, for example, release a lock held by a user-space
148 * @refcount_release: The underlying object's release method. Needed since
149 * we set @base::refcount_release to our own release method.
280 * ttm_object_file_release - release data held by a ttm_object_file
282 * @p_tfile: Pointer to pointer to the ttm_object_file object to release.
286 * Typically called from file_ops::release. The caller must
309 * ttm_object_device_release - release data held by a ttm_object_device
311 * @p_tdev: Pointer to pointer to the ttm_object_device object to release.
/linux-4.4.14/drivers/input/misc/
H A De3x0-button.c82 irq_release = platform_get_irq_byname(pdev, "release"); e3x0_button_probe()
84 dev_err(&pdev->dev, "No IRQ for 'release', error=%d\n", e3x0_button_probe()
112 dev_err(&pdev->dev, "Failed to request 'release' IRQ#%d: %d\n", e3x0_button_probe()
H A Ddm355evm_keys.c136 /* Press and release a button: two events, same code. dm355evm_keys_irq()
137 * Press and hold (autorepeat), then release: N events dm355evm_keys_irq()
142 * So we must synthesize release events. We do that by dm355evm_keys_irq()
143 * mapping events to a press/release event pair; then dm355evm_keys_irq()
163 /* report press + release */ dm355evm_keys_irq()
/linux-4.4.14/arch/arm/mach-sti/
H A Dplatsmp.c67 * the holding pen - release it, then wait for it to flag sti_boot_secondary()
126 if (of_property_read_u32(np, "cpu-release-addr", for_each_possible_cpu()
128 pr_err("CPU %d: missing or invalid cpu-release-addr " for_each_possible_cpu()
/linux-4.4.14/drivers/usb/serial/
H A Dio_tables.h112 .release = edge_release,
144 .release = edge_release,
176 .release = edge_release,
208 .release = edge_release,
/linux-4.4.14/drivers/sh/intc/
H A Dvirq-debugfs.c49 .release = single_release,
/linux-4.4.14/drivers/net/ethernet/chelsio/cxgb4/
H A Dclip_tbl.h10 * release for licensing terms and conditions.
/linux-4.4.14/drivers/platform/x86/
H A Dsurfacepro3_button.c78 /* Power button press,release handle */ surface_button_notify()
85 /* Home button press,release handle */ surface_button_notify()
92 /* Volume up button press,release handle */ surface_button_notify()
99 /* Volume down button press,release handle */ surface_button_notify()
/linux-4.4.14/drivers/eisa/
H A Dvirtual_root.c33 .release = virtual_eisa_release,
/linux-4.4.14/arch/x86/include/asm/
H A Dqspinlock.h10 * queued_spin_unlock - release a queued spinlock
/linux-4.4.14/arch/x86/um/
H A Dsysrq_64.c20 current->comm, print_tainted(), init_utsname()->release); show_regs()
/linux-4.4.14/net/x25/
H A Dx25_proc.c2 * X.25 Packet Layer release 002
193 .release = seq_release,
200 .release = seq_release,
207 .release = seq_release,
H A Dx25_in.c2 * X.25 Packet Layer release 002
90 * Handling of state 0 and connection release is in af_x25.c.
169 * Handling of state 0 and connection release is in af_x25.c.
202 * Handling of state 0 and connection release is in af_x25.c.
338 * Handling of state 0 and connection release is in af_x25.c.
/linux-4.4.14/fs/ntfs/
H A Daops.h35 * ntfs_unmap_page - release a page that was mapped using ntfs_map_page()
36 * @page: the page to release
38 * Unpin, unmap and release a page that was obtained from ntfs_map_page().
74 * unpin, unmap and release the page.
/linux-4.4.14/fs/xfs/
H A Dxfs_sysfs.c55 .release = xfs_sysfs_release,
125 .release = xfs_sysfs_release,
182 .release = xfs_sysfs_release,
267 .release = xfs_sysfs_release,
/linux-4.4.14/include/asm-generic/bitops/
H A Dlock.h19 * This operation is atomic and provides release barrier semantics.
/linux-4.4.14/arch/mips/include/asm/octeon/
H A Dcvmx-asm.h43 /* Deprecated, will be removed in future release */
48 /* Deprecated, will be removed in future release */
72 /* Deprecated, will be removed in future release */
77 /* Deprecated, will be removed in future release */
/linux-4.4.14/arch/s390/include/asm/
H A Dappldata.h38 u16 release_nr; /* release */
H A Deadm.h92 unsigned int release:1; member in struct:scm_device::__anon2451
/linux-4.4.14/arch/mips/ralink/
H A Dbootrom.c33 .release = single_release,
/linux-4.4.14/arch/hexagon/include/asm/
H A Dtimer-regs.h31 * release 1.1, and then it's "adjustable" and probably not defaulted.
/linux-4.4.14/fs/fscache/
H A Doperation.c30 * @release: The release function to assign
38 fscache_operation_release_t release) fscache_operation_init()
46 op->release = release; fscache_operation_init()
134 kdebug("%p %p", op->processor, op->release); fscache_report_unexpected_submission()
475 * release an operation
498 if (op->release) { fscache_put_operation()
499 op->release(op); fscache_put_operation()
500 op->release = NULL; fscache_put_operation()
541 * garbage collect operations that have had their release deferred
35 fscache_operation_init(struct fscache_operation *op, fscache_operation_processor_t processor, fscache_operation_cancel_t cancel, fscache_operation_release_t release) fscache_operation_init() argument
/linux-4.4.14/kernel/locking/
H A Drwsem.c75 * release a read lock
87 * release a write lock
H A Drwsem-spinlock.c56 * handle the lock release when processes blocked on it that can now run
208 /* wait for someone to release the lock */ __down_write_nested()
257 * release a read lock on the semaphore
272 * release a write lock on the semaphore
H A Dqspinlock.c341 * store-release that clears the locked bit and create lock queued_spin_lock_slowpath()
376 goto release; queued_spin_lock_slowpath()
405 * store-release that clears the locked bit and create lock queued_spin_lock_slowpath()
431 goto release; /* No contention */ queued_spin_lock_slowpath()
437 * contended path; wait for next, release. queued_spin_lock_slowpath()
445 release: queued_spin_lock_slowpath()
447 * release the node queued_spin_lock_slowpath()
/linux-4.4.14/kernel/rcu/
H A Dtree_trace.c100 .release = single_release,
181 .release = seq_release,
210 .release = single_release,
257 .release = single_release,
310 .release = single_release,
352 .release = single_release,
398 .release = seq_release,
421 .release = single_release,
/linux-4.4.14/fs/reiserfs/
H A Dlock.c9 * - the performances relied on the release-while-schedule() property
18 * reiserfs performances were partially based on the release while schedule()
/linux-4.4.14/tools/perf/tests/
H A Dthread-mg-share.c78 /* release thread group */ test__thread_mg_share()
90 /* release other group */ test__thread_mg_share()
/linux-4.4.14/drivers/mtd/maps/
H A Dintel_vr_nor.c145 goto release; vr_nor_init_maps()
158 goto release; vr_nor_init_maps()
168 release: vr_nor_init_maps()
207 goto release; vr_nor_pci_probe()
213 goto release; vr_nor_pci_probe()
242 release: vr_nor_pci_probe()
H A Dpci.c273 goto release; mtd_pci_probe()
283 goto release; mtd_pci_probe()
288 goto release; mtd_pci_probe()
297 release: mtd_pci_probe()
/linux-4.4.14/drivers/input/keyboard/
H A Dmax7359_keypad.c92 int val, row, col, release, code; max7359_interrupt() local
97 release = val & 0x40; max7359_interrupt()
102 "key[%d:%d] %s\n", row, col, release ? "release" : "press"); max7359_interrupt()
105 input_report_key(input_dev, keypad->keycodes[code], !release); max7359_interrupt()
149 MAX7359_CFG_KEY_RELEASE | /* Key release enable */ max7359_initialize()
H A Datkbd.c225 bool release; member in struct:atkbd
312 * Checks if we should mangle the scancode to extract 'release' bit
415 atkbd->release = code >> 7; atkbd_interrupt()
435 atkbd->release = true; atkbd_interrupt()
459 if (!(atkbd->release && test_bit(code, atkbd->force_release_mask))) atkbd_interrupt()
469 atkbd->release ? "released" : "pressed", atkbd_interrupt()
490 click = !atkbd->release; atkbd_interrupt()
499 if (atkbd->release) { atkbd_interrupt()
525 atkbd->release ? -scroll : scroll); atkbd_interrupt()
530 atkbd->release = false; atkbd_interrupt()
918 * generate release events for the keycodes given in data
932 * Most special keys (Fn+F?) on Dell laptops do not generate release
940 * Perform fixup for HP system that doesn't generate release
948 * Samsung NC10,NC20 with Fn+F? key release not working
955 * Amilo Pi 3525 key release for Fn+Volume keys not working
962 * Amilo Xi 3650 key release for light touch bar not working
969 * Soltech TA12 system with broken key release on volume keys and mute key
976 * Many notebooks don't send key release event for volume up/down
984 * OQO 01+ multimedia keys (64--66) generate e0 6x upon release whereas
1035 * HANGEUL and HANJA keys do not send release events so we need to atkbd_set_keycode_table()
1657 * NOTE: do not add any more "force release" quirks to this table. The
H A Ddavinci_keyscan.c129 bool release; davinci_ks_interrupt() local
150 release = (new_status >> i) & 0x1; davinci_ks_interrupt()
152 release ? "released" : "pressed"); davinci_ks_interrupt()
154 !release); davinci_ks_interrupt()
/linux-4.4.14/drivers/pnp/pnpbios/
H A Dproc.c59 .release = single_release,
86 .release = single_release,
141 .release = single_release,
171 .release = single_release,
214 .release = single_release,
282 .release = single_release,
/linux-4.4.14/net/bluetooth/
H A Dhci_debugfs.c114 .release = single_release,
138 .release = single_release,
168 .release = single_release,
193 .release = single_release,
228 .release = single_release,
257 .release = single_release,
420 .release = single_release,
446 .release = single_release,
470 .release = single_release,
669 .release = single_release,
723 .release = single_release,
746 .release = single_release,
818 .release = single_release,
847 .release = single_release,
875 .release = single_release,
/linux-4.4.14/drivers/net/wireless/libertas/
H A Dif_sdio.c486 goto release; if_sdio_prog_helper()
494 goto release; if_sdio_prog_helper()
511 goto release; if_sdio_prog_helper()
521 goto release; if_sdio_prog_helper()
532 goto release; if_sdio_prog_helper()
536 goto release; if_sdio_prog_helper()
543 goto release; if_sdio_prog_helper()
551 release: if_sdio_prog_helper()
585 goto release; if_sdio_prog_real()
595 goto release; if_sdio_prog_real()
600 goto release; if_sdio_prog_real()
605 goto release; if_sdio_prog_real()
618 goto release; if_sdio_prog_real()
629 goto release; if_sdio_prog_real()
635 goto release; if_sdio_prog_real()
652 goto release; if_sdio_prog_real()
671 goto release; if_sdio_prog_real()
678 goto release; if_sdio_prog_real()
686 release: if_sdio_prog_real()
813 goto release; if_sdio_finish_power_on()
860 release: if_sdio_finish_power_on()
874 goto release; if_sdio_power_on()
918 release: if_sdio_power_on()
/linux-4.4.14/drivers/usb/phy/
H A Dphy.c109 * devres. On driver detach, release function is invoked on the devres data,
139 * calling usb_put_phy() to release that count.
179 * the phy using devres. On driver detach, release function is invoked
239 * the phy using devres. On driver detach, release function is invoked
274 * calling usb_put_phy() to release that count.
309 * devres. On driver detach, release function is invoked on the devres data,
334 * devm_usb_put_phy - release the USB PHY
335 * @dev - device that wants to release this phy
339 * to release the phy.
353 * usb_put_phy - release the USB PHY
/linux-4.4.14/drivers/usb/chipidea/
H A Ddebug.c58 .release = single_release,
123 .release = single_release,
166 .release = single_release,
217 .release = single_release,
291 .release = single_release,
344 .release = single_release,
388 .release = single_release,
/linux-4.4.14/net/netfilter/
H A Dnf_conntrack_standalone.c214 goto release; ct_seq_show()
237 goto release; ct_seq_show()
240 goto release; ct_seq_show()
251 goto release; ct_seq_show()
257 goto release; ct_seq_show()
270 goto release; ct_seq_show()
273 release: ct_seq_show()
296 .release = seq_release_net,
389 .release = seq_release_net,
/linux-4.4.14/drivers/isdn/capi/
H A Dkcapi_proc.c126 .release = seq_release,
134 .release = seq_release,
236 .release = seq_release,
244 .release = seq_release,
295 .release = seq_release,
/linux-4.4.14/drivers/misc/mic/host/
H A Dmic_debugfs.c73 .release = mic_smpt_debug_release
100 .release = mic_post_code_debug_release
195 .release = mic_dp_debug_release
284 .release = mic_vdev_info_debug_release
347 .release = mic_msi_irq_info_debug_release
/linux-4.4.14/drivers/misc/sgi-gru/
H A Dgruprocfs.c289 .release = single_release,
297 .release = single_release,
305 .release = single_release,
312 .release = seq_release,
318 .release = seq_release,
/linux-4.4.14/drivers/media/usb/tm6000/
H A Dtm6000-i2c.c69 /* release mutex */ tm6000_i2c_send_regs()
73 /* release mutex */ tm6000_i2c_send_regs()
114 /* release mutex */ tm6000_i2c_recv_regs()
139 /* release mutex */ tm6000_i2c_recv_regs16()
152 /* release mutex */ tm6000_i2c_recv_regs16()
/linux-4.4.14/net/rose/
H A Drose_in.c37 * Handling of state 0 and connection release is in af_rose.c.
74 * Handling of state 0 and connection release is in af_rose.c.
102 * Handling of state 0 and connection release is in af_rose.c.
212 * Handling of state 0 and connection release is in af_rose.c.
249 * Handling of state 0 and connection release is in af_rose.c.
/linux-4.4.14/drivers/mfd/
H A Dab8500-debugfs.c1344 .release = single_release,
1456 .release = single_release,
1733 .release = single_release,
1764 .release = single_release,
1796 .release = single_release,
1828 .release = single_release,
1860 .release = single_release,
1892 .release = single_release,
1922 .release = single_release,
1952 .release = single_release,
1984 .release = single_release,
2014 .release = single_release,
2046 .release = single_release,
2078 .release = single_release,
2109 .release = single_release,
2140 .release = single_release,
2170 .release = single_release,
2201 .release = single_release,
2234 .release = single_release,
2275 .release = single_release,
2315 .release = single_release,
2358 .release = single_release,
2398 .release = single_release,
2435 .release = single_release,
2482 .release = single_release,
2529 .release = single_release,
2574 .release = single_release,
2621 .release = single_release,
2949 .release = single_release,
2958 .release = single_release,
2967 .release = single_release,
2975 .release = single_release,
2984 .release = single_release,
2993 .release = single_release,
3002 .release = single_release,
/linux-4.4.14/drivers/net/ethernet/intel/e1000e/
H A Dich8lan.c230 hw->phy.ops.release(hw); e1000_phy_is_accessible_pchlan()
392 hw->phy.ops.release(hw); e1000_init_phy_workarounds_pchlan()
843 goto release; e1000_set_eee_pchlan()
854 goto release; e1000_set_eee_pchlan()
859 goto release; e1000_set_eee_pchlan()
885 goto release; e1000_set_eee_pchlan()
895 goto release; e1000_set_eee_pchlan()
898 release: e1000_set_eee_pchlan()
899 hw->phy.ops.release(hw); e1000_set_eee_pchlan()
931 goto release; e1000_k1_workaround_lpt_lp()
939 goto release; e1000_k1_workaround_lpt_lp()
949 release: e1000_k1_workaround_lpt_lp()
950 hw->phy.ops.release(hw); e1000_k1_workaround_lpt_lp()
1137 goto release; e1000_enable_ulp_lpt_lp()
1153 goto release; e1000_enable_ulp_lpt_lp()
1162 goto release; e1000_enable_ulp_lpt_lp()
1170 goto release; e1000_enable_ulp_lpt_lp()
1202 goto release; e1000_enable_ulp_lpt_lp()
1205 release: e1000_enable_ulp_lpt_lp()
1206 hw->phy.ops.release(hw); e1000_enable_ulp_lpt_lp()
1303 goto release; e1000_disable_ulp_lpt_lp()
1318 goto release; e1000_disable_ulp_lpt_lp()
1325 goto release; e1000_disable_ulp_lpt_lp()
1343 release: e1000_disable_ulp_lpt_lp()
1344 hw->phy.ops.release(hw); e1000_disable_ulp_lpt_lp()
1436 hw->phy.ops.release(hw); e1000_check_for_copper_link_ich8lan()
1454 hw->phy.ops.release(hw); e1000_check_for_copper_link_ich8lan()
1467 hw->phy.ops.release(hw); e1000_check_for_copper_link_ich8lan()
2080 goto release; e1000_sw_lcd_config_ich8lan()
2088 goto release; e1000_sw_lcd_config_ich8lan()
2094 goto release; e1000_sw_lcd_config_ich8lan()
2109 goto release; e1000_sw_lcd_config_ich8lan()
2115 goto release; e1000_sw_lcd_config_ich8lan()
2126 goto release; e1000_sw_lcd_config_ich8lan()
2131 goto release; e1000_sw_lcd_config_ich8lan()
2144 goto release; e1000_sw_lcd_config_ich8lan()
2147 release: e1000_sw_lcd_config_ich8lan()
2148 hw->phy.ops.release(hw); e1000_sw_lcd_config_ich8lan()
2182 goto release; e1000_k1_gig_workaround_hv()
2197 goto release; e1000_k1_gig_workaround_hv()
2212 goto release; e1000_k1_gig_workaround_hv()
2218 goto release; e1000_k1_gig_workaround_hv()
2223 release: e1000_k1_gig_workaround_hv()
2224 hw->phy.ops.release(hw); e1000_k1_gig_workaround_hv()
2306 goto release; e1000_oem_bits_config_ich8lan()
2311 goto release; e1000_oem_bits_config_ich8lan()
2317 goto release; e1000_oem_bits_config_ich8lan()
2344 release: e1000_oem_bits_config_ich8lan()
2345 hw->phy.ops.release(hw); e1000_oem_bits_config_ich8lan()
2420 hw->phy.ops.release(hw); e1000_hv_phy_workarounds_ich8lan()
2437 goto release; e1000_hv_phy_workarounds_ich8lan()
2440 goto release; e1000_hv_phy_workarounds_ich8lan()
2444 release: e1000_hv_phy_workarounds_ich8lan()
2445 hw->phy.ops.release(hw); e1000_hv_phy_workarounds_ich8lan()
2465 goto release; e1000_copy_rx_addrs_to_phy_ich8lan()
2485 release: e1000_copy_rx_addrs_to_phy_ich8lan()
2486 hw->phy.ops.release(hw); e1000_copy_rx_addrs_to_phy_ich8lan()
2679 goto release; e1000_lv_phy_workarounds_ich8lan()
2682 release: e1000_lv_phy_workarounds_ich8lan()
2683 hw->phy.ops.release(hw); e1000_lv_phy_workarounds_ich8lan()
2851 hw->phy.ops.release(hw); e1000_post_phy_reset_ich8lan()
3244 nvm->ops.release(hw); e1000_read_nvm_spt()
3304 nvm->ops.release(hw); e1000_read_nvm_ich8lan()
3677 nvm->ops.release(hw); e1000_write_nvm_ich8lan()
3725 goto release; e1000_update_nvm_checksum_spt()
3731 goto release; e1000_update_nvm_checksum_spt()
3783 goto release; e1000_update_nvm_checksum_spt()
3798 goto release; e1000_update_nvm_checksum_spt()
3804 goto release; e1000_update_nvm_checksum_spt()
3818 goto release; e1000_update_nvm_checksum_spt()
3824 goto release; e1000_update_nvm_checksum_spt()
3832 release: e1000_update_nvm_checksum_spt()
3833 nvm->ops.release(hw); e1000_update_nvm_checksum_spt()
3893 goto release; e1000_update_nvm_checksum_ich8lan()
3899 goto release; e1000_update_nvm_checksum_ich8lan()
3947 goto release; e1000_update_nvm_checksum_ich8lan()
3958 goto release; e1000_update_nvm_checksum_ich8lan()
3965 goto release; e1000_update_nvm_checksum_ich8lan()
3975 goto release; e1000_update_nvm_checksum_ich8lan()
3983 release: e1000_update_nvm_checksum_ich8lan()
3984 nvm->ops.release(hw); e1000_update_nvm_checksum_ich8lan()
4087 nvm->ops.release(hw); e1000e_write_protect_nvm_ich8lan()
5273 goto release; e1000_suspend_workarounds_ich8lan()
5301 * The SMBus release must also be disabled on LCD reset. e1000_suspend_workarounds_ich8lan()
5316 /* Disable the SMB release on LCD reset. */ e1000_suspend_workarounds_ich8lan()
5329 release: e1000_suspend_workarounds_ich8lan()
5330 hw->phy.ops.release(hw); e1000_suspend_workarounds_ich8lan()
5349 hw->phy.ops.release(hw); e1000_suspend_workarounds_ich8lan()
5401 goto release; e1000_resume_workarounds_pchlan()
5411 goto release; e1000_resume_workarounds_pchlan()
5414 release: e1000_resume_workarounds_pchlan()
5417 hw->phy.ops.release(hw); e1000_resume_workarounds_pchlan()
5664 goto release; e1000_clear_hw_cntrs_ich8lan()
5679 release: e1000_clear_hw_cntrs_ich8lan()
5680 hw->phy.ops.release(hw); e1000_clear_hw_cntrs_ich8lan()
5712 .release = e1000_release_swflag_ich8lan,
5722 .release = e1000_release_nvm_ich8lan,
5732 .release = e1000_release_nvm_ich8lan,
/linux-4.4.14/drivers/usb/host/whci/
H A Ddebug.c152 .release = single_release,
160 .release = single_release,
168 .release = single_release,
/linux-4.4.14/drivers/staging/android/ion/
H A Dion_cma_heap.c79 /* keep this for memory release */ ion_cma_allocate()
100 /* release memory */ ion_cma_free()
102 /* release sg table */ ion_cma_free()
/linux-4.4.14/drivers/media/dvb-frontends/
H A Ddvb_dummy_fe.c186 .release = dvb_dummy_fe_release,
215 .release = dvb_dummy_fe_release,
246 .release = dvb_dummy_fe_release,
/linux-4.4.14/drivers/cpufreq/
H A Ds3c24xx-cpufreq-debugfs.c73 .release = single_release,
115 .release = single_release,
172 .release = single_release,
/linux-4.4.14/net/appletalk/
H A Datalk_proc.c233 .release = seq_release,
241 .release = seq_release,
249 .release = seq_release,
/linux-4.4.14/fs/ubifs/
H A Dioctl.c104 int oldflags, err, release; setflags() local
130 release = ui->dirty; setflags()
134 if (release) setflags()
/linux-4.4.14/drivers/net/wireless/hostap/
H A Dhostap_proc.c55 .release = single_release,
106 .release = single_release,
162 .release = seq_release,
233 .release = seq_release,
263 .release = single_release,
440 .release = seq_release,
/linux-4.4.14/drivers/gpu/drm/nouveau/
H A Dnouveau_ttm.c300 global_ref->release = &nouveau_ttm_mem_global_release; nouveau_ttm_global_init()
305 drm->ttm.mem_global_ref.release = NULL; nouveau_ttm_global_init()
314 global_ref->release = &ttm_bo_global_release; nouveau_ttm_global_init()
320 drm->ttm.mem_global_ref.release = NULL; nouveau_ttm_global_init()
330 if (drm->ttm.mem_global_ref.release == NULL) nouveau_ttm_global_release()
335 drm->ttm.mem_global_ref.release = NULL; nouveau_ttm_global_release()
/linux-4.4.14/kernel/irq/
H A Dproc.c167 .release = single_release,
175 .release = single_release,
182 .release = single_release,
237 .release = single_release,
258 .release = single_release,
281 .release = single_release,
/linux-4.4.14/drivers/usb/host/
H A Dfhci-dbg.c97 .release = single_release,
104 .release = single_release,
H A Dsl811_cs.c53 dev_dbg(dev, "sl811_cs platform_dev release\n"); release_platform_dev()
83 .release = release_platform_dev,
H A Dimx21-dbg.c455 .release = single_release,
462 .release = single_release,
469 .release = single_release,
476 .release = single_release,
483 .release = single_release,
/linux-4.4.14/drivers/scsi/arm/
H A Doak.c132 goto release; oakscsi_probe()
158 release: oakscsi_probe()
/linux-4.4.14/drivers/isdn/hardware/eicon/
H A Ddiva_didd.c73 seq_printf(m, "release : %s\n", DRIVERRELEASE_DIDD); divadidd_proc_show()
91 .release = single_release,
H A Ddivasproc.c124 .release = divas_close
221 .release = single_release,
247 .release = single_release,
346 .release = single_release,
/linux-4.4.14/drivers/misc/mic/bus/
H A Dcosm_bus.c82 cdev->dev.release = cosm_release_dev; cosm_register_device()
110 int index = dev->index; /* save for after device release */ cosm_unregister_device()
/linux-4.4.14/drivers/misc/mic/cosm/
H A Dcosm_debugfs.c91 .release = single_release
118 .release = single_release
/linux-4.4.14/drivers/iio/trigger/
H A Diio-trig-sysfs.c83 /* Nothing to actually do upon release */ iio_trigger_sysfs_release()
91 .release = &iio_trigger_sysfs_release,
/linux-4.4.14/drivers/gpu/drm/vmwgfx/
H A Dvmwgfx_ttm_glue.c66 global_ref->release = &vmw_ttm_mem_global_release; vmw_ttm_global_init()
80 global_ref->release = &ttm_bo_global_release; vmw_ttm_global_init()
/linux-4.4.14/drivers/media/v4l2-core/
H A Dvideobuf2-memops.c70 * vb2_destroy_framevec() - release vector of mapped pfns
71 * @vec: vector of pfns / pages to release
H A Dv4l2-dev.c188 the release() callback. */ v4l2_device_release()
202 /* Do not call v4l2_device_put if there is no release callback set. v4l2_device_release()
203 * Drivers that have no v4l2_device release callback might free the v4l2_device_release()
204 * v4l2_dev instance in the video_device release callback below, so we v4l2_device_release()
208 * v4l2_device release callback. This check will then be unnecessary. v4l2_device_release()
210 if (v4l2_dev->release == NULL) v4l2_device_release()
215 vdev->release(vdev); v4l2_device_release()
436 /* Override for the release function */ v4l2_release()
442 if (vdev->fops->release) v4l2_release()
443 ret = vdev->fops->release(filp); v4l2_release()
445 printk(KERN_DEBUG "%s: release\n", v4l2_release()
448 /* decrease the refcount unconditionally since the release() v4l2_release()
465 .release = v4l2_release,
773 /* the release callback MUST be present */ __video_register_device()
774 if (WARN_ON(!vdev->release)) __video_register_device()
910 /* Register the release callback that will be called when the last __video_register_device()
912 vdev->dev.release = v4l2_device_release; __video_register_device()
/linux-4.4.14/drivers/powercap/
H A Dpowercap_sys.c405 /* Store flag as the release() may free memory */ powercap_release()
414 if (power_zone->ops->release) powercap_release()
415 power_zone->ops->release(power_zone); powercap_release()
422 /* Store flag as the release() may free memory */ powercap_release()
426 if (control_type->ops && control_type->ops->release) powercap_release()
427 control_type->ops->release(control_type); powercap_release()
513 if (!ops->release) powercap_register_zone()
620 if (!ops || !ops->release) powercap_register_control_type()
/linux-4.4.14/drivers/acpi/acpica/
H A Dexmutex.c371 /* The mutex must have been previously acquired in order to release it */ acpi_ex_release_mutex()
375 "Cannot release Mutex [%4.4s], not acquired", acpi_ex_release_mutex()
384 "Cannot release Mutex [%4.4s], null thread info", acpi_ex_release_mutex()
391 * Special case for Global Lock, any thread can release acpi_ex_release_mutex()
396 "Thread %u cannot release Mutex [%4.4s] acquired by thread %u", acpi_ex_release_mutex()
406 * level is currently being held. Attempting to release a mutex of a acpi_ex_release_mutex()
412 "Cannot release Mutex [%4.4s], SyncLevel mismatch: mutex %u current %u", acpi_ex_release_mutex()
455 * method to acquire a mutex, and a different method to release it, as long as
H A Devglock.c63 * DESCRIPTION: Install a handler for the global lock release event
144 * release interrupt occurs. If there is actually a pending
311 "Cannot release the ACPI Global Lock, it has not been acquired")); acpi_ev_release_global_lock()
317 /* Allow any thread to release the lock */ acpi_ev_release_global_lock()
/linux-4.4.14/arch/tile/include/asm/
H A Dspinlock_32.h121 * arch_read_unlock() - release a read lock.
126 * arch_write_unlock() - release a write lock.
/linux-4.4.14/lib/
H A Dpercpu-refcount.c47 * @release: function which will be called when refcount hits 0
55 * Note that @release must not sleep - it may potentially be called from RCU
58 int percpu_ref_init(struct percpu_ref *ref, percpu_ref_func_t *release, percpu_ref_init() argument
84 ref->release = release; percpu_ref_init()
95 * function from are the @ref->release() callback or in init failure path
151 ref->release, atomic_long_read(&ref->count)); percpu_ref_switch_to_atomic_rcu()
303 "%s called more than once on %pf!", __func__, ref->release); percpu_ref_kill_and_confirm()
/linux-4.4.14/net/9p/
H A Dutil.c110 * p9_idpool_put - release numeric id from pool
112 * @p: pool to release id into
/linux-4.4.14/net/sunrpc/
H A Dsvcauth.c72 * and release and resources
82 rv = aops->release(rqstp); svc_authorise()
/linux-4.4.14/fs/afs/
H A Dafs_vl.h50 AFSVL_BADRELLOCKTYPE = 363543, /* Bad release lock type */
51 AFSVL_RERELEASE = 363544, /* Status report: last release was aborted */
H A Dfile.c32 .release = afs_release,
91 * release an AFS file or directory and discard its key
309 * - release a page and clean up its private data if offset is 0 (indicating
346 * release a page and clean up its private state if it's not busy
/linux-4.4.14/fs/ceph/
H A Dstrings.c99 case CEPH_CAP_OP_RELEASE: return "release"; ceph_cap_op_name()
109 case CEPH_MDS_LEASE_RELEASE: return "release"; ceph_lease_op_name()
/linux-4.4.14/arch/sh/boards/mach-landisk/
H A Dgio.c129 .release = gio_close, /* release */
/linux-4.4.14/arch/mips/lasat/
H A Dpicvue_proc.c96 .release = single_release,
155 .release = single_release,
/linux-4.4.14/arch/m32r/include/asm/
H A Dprocessor.h121 /* Copy and release all segment info associated with a VM */
127 /* Copy and release all segment info associated with a VM */
/linux-4.4.14/arch/arm/mach-socfpga/
H A Dplatsmp.c50 /* This will release CPU #1 out of reset. */ socfpga_boot_secondary()
73 /* This will release CPU #1 out of reset. */ socfpga_a10_boot_secondary()
/linux-4.4.14/drivers/scsi/cxlflash/
H A Dsuperpipe.c35 * marshal_rele_to_resize() - translate release to resize structure
39 static void marshal_rele_to_resize(struct dk_cxlflash_release *release, marshal_rele_to_resize() argument
42 resize->hdr = release->hdr; marshal_rele_to_resize()
43 resize->context_id = release->context_id; marshal_rele_to_resize()
44 resize->rsrc_handle = release->rsrc_handle; marshal_rele_to_resize()
48 * marshal_det_to_rele() - translate detach to release structure
53 struct dk_cxlflash_release *release) marshal_det_to_rele()
55 release->hdr = detach->hdr; marshal_det_to_rele()
56 release->context_id = detach->context_id; marshal_det_to_rele()
190 * Therefore release ctx_tbl_list_mutex before retrying. get_context()
228 * put_context() - release a context that was retrieved from get_context()
229 * @ctxi: Context to release.
480 * @rhte: RHTE to release.
593 * @release: Release ioctl data structure.
606 struct dk_cxlflash_release *release) _cxlflash_disk_release()
616 res_hndl_t rhndl = release->rsrc_handle; _cxlflash_disk_release()
619 u64 ctxid = DECODE_CTXID(release->context_id), _cxlflash_disk_release()
620 rctxid = release->context_id; _cxlflash_disk_release()
626 __func__, ctxid, release->rsrc_handle, gli->mode, gli->users); _cxlflash_disk_release()
657 marshal_rele_to_resize(release, &size); _cxlflash_disk_release()
702 struct dk_cxlflash_release *release) cxlflash_disk_release()
704 return _cxlflash_disk_release(sdev, NULL, release); cxlflash_disk_release()
710 * @ctxi: Context to release.
923 * cxlflash_cxl_release() - release handler for adapter file descriptor
927 * This routine is the release handler for the fops registered with
948 * call into the CXL release entry point.
1193 .release = cxlflash_cxl_release,
1465 * fput() calls the release fop, which will cause us to mistakenly cxlflash_disk_attach()
1486 * @ctxi: Context to release.
52 marshal_det_to_rele(struct dk_cxlflash_detach *detach, struct dk_cxlflash_release *release) marshal_det_to_rele() argument
604 _cxlflash_disk_release(struct scsi_device *sdev, struct ctx_info *ctxi, struct dk_cxlflash_release *release) _cxlflash_disk_release() argument
701 cxlflash_disk_release(struct scsi_device *sdev, struct dk_cxlflash_release *release) cxlflash_disk_release() argument
/linux-4.4.14/drivers/usb/mon/
H A Dmon_stat.c69 .release = mon_stat_release,
/linux-4.4.14/drivers/staging/speakup/
H A Ddevsynth.c65 .release = speakup_file_release,
/linux-4.4.14/drivers/staging/unisys/include/
H A Dversion.h18 /* Common version/release info needed by all components goes here.
/linux-4.4.14/drivers/regulator/
H A Dfixed-helper.c56 data->pdev.dev.release = regulator_fixed_release; regulator_register_always_on()
/linux-4.4.14/drivers/s390/char/
H A Dmonwriter.c67 id.release_nr = myhdr->release; monwrite_diag()
89 entry->hdr.release == monhdr->release && monwrite_find_hdr()
275 .release = &monwrite_close,
/linux-4.4.14/drivers/staging/comedi/
H A Dproc.c86 .release = single_release,
/linux-4.4.14/drivers/isdn/divert/
H A Ddivert_init.c64 divert_if.cmd = DIVERT_CMD_REL; /* release */ divert_exit()
/linux-4.4.14/drivers/i2c/muxes/
H A Di2c-arb-gpio-challenge.c74 /* Wait for the other master to release it */ i2c_arbitrator_select()
87 /* It didn't release, so give up, wait, and try again */ i2c_arbitrator_select()
93 /* Give up, release our claim */ i2c_arbitrator_select()
101 * i2c_arbitrator_deselect - release the I2C bus
/linux-4.4.14/drivers/media/usb/pvrusb2/
H A Dpvrusb2-fx2-cmd.h27 #define FX2CMD_HCW_ZILOG_RESET 0x10u /* 1=reset 0=release */
/linux-4.4.14/drivers/pci/pcie/
H A Dportdrv_acpi.c23 * pcie_port_acpi_setup - Request the BIOS to release control of PCIe services.
/linux-4.4.14/drivers/phy/
H A Dphy-core.c400 * calling phy_put() to release that count.
424 * phy_put() - release the PHY
440 * devm_phy_put() - release the PHY
441 * @dev: device that wants to release this phy
445 * to release the phy.
498 * calling phy_put() to release that count.
537 * calling phy_put() to release that count.
557 * devres. On driver detach, release function is invoked on the devres data,
587 * devres. On driver detach, release function is invoked on the devres
611 * devres. On driver detach, release function is invoked on the devres data,
643 * release function is invoked on the devres data,
757 * On driver detach, release function is invoked on the devres data,
796 * @dev: device that wants to release this phy
853 * phy provider using devres. On driver detach, release function is invoked
914 * phy_release() - release the phy
918 * from the embedded kobject as release method.
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/core/
H A Dgpuobj.c67 .release = nvkm_gpuobj_heap_release,
74 .release = nvkm_gpuobj_heap_release,
118 .release = nvkm_gpuobj_release,
125 .release = nvkm_gpuobj_release,
/linux-4.4.14/arch/um/drivers/
H A Dhostaudio_kern.c222 printk(KERN_DEBUG "hostaudio: release called\n"); hostaudio_release()
287 printk(KERN_DEBUG "hostmixer: release called\n"); hostmixer_release()
307 .release = hostaudio_release,
315 .release = hostmixer_release,
/linux-4.4.14/arch/um/kernel/
H A Dexitcode.c63 .release = single_release,
/linux-4.4.14/arch/xtensa/include/asm/
H A Ddma.h51 /* Reserve and release a DMA channel */
/linux-4.4.14/arch/xtensa/include/uapi/asm/
H A Dswab.h22 /* instruction sequence from Xtensa ISA release 2/2000 */ __arch_swab32()
/linux-4.4.14/drivers/clk/tegra/
H A Dclk-dfll.h33 * @deassert_dvco_reset: fn ptr to release the DVCO reset
/linux-4.4.14/arch/alpha/kernel/
H A Des1888.c30 outb(0x00, 0x0226); /* release reset */ es1888_init()
/linux-4.4.14/fs/jffs2/
H A Djffs2_fs_i.h23 either the GC would deadlock, or we'd have to release it
/linux-4.4.14/fs/jfs/
H A Djfs_lock.h33 * lock_cmd and unlock_cmd take and release the spinlock
/linux-4.4.14/fs/lockd/
H A Dprocfs.c66 .release = simple_transaction_release,
/linux-4.4.14/net/core/
H A Dnet-procfs.c187 .release = seq_release_net,
207 .release = seq_release,
311 .release = seq_release_net,
397 .release = seq_release_net,
/linux-4.4.14/net/xfrm/
H A Dxfrm_proc.c72 .release = single_release_net,
/linux-4.4.14/samples/kobject/
H A Dkset-example.c97 * The release function for our object. This is REQUIRED by the kernel to
100 * NEVER try to get away with just a "blank" release function to try to be
186 * release function, and the set of default attributes we want created
191 .release = foo_release,
/linux-4.4.14/sound/core/
H A Ddevice.c137 * snd_device_free - release the device from the card
139 * @device_data: the data pointer to release
143 * Then release the device.
234 * release all the devices on the card.
H A Dmemalloc.c59 * snd_free_pages - release the pages
60 * @ptr: the buffer pointer to release
260 * snd_dma_free_pages - release the allocated buffer
261 * @dmab: the buffer allocation record to release
/linux-4.4.14/kernel/time/
H A Dtimekeeping_debug.c52 .release = single_release,
H A Dposix-clock.c184 if (clk->ops.release) posix_clock_release()
185 err = clk->ops.release(clk); posix_clock_release()
201 .release = posix_clock_release,
228 if (clk->release) delete_clock()
229 clk->release(clk); delete_clock()
/linux-4.4.14/include/linux/usb/
H A Dgadget_configfs.h36 .release = struct_in##_attr_release, \
/linux-4.4.14/include/net/caif/
H A Dcfsrvl.h21 void (*release)(struct cflayer *layer); member in struct:cfsrvl
/linux-4.4.14/include/drm/
H A Ddrm_global.h45 void (*release) (struct drm_global_reference *); member in struct:drm_global_reference
/linux-4.4.14/arch/sh/mm/
H A Dasids-debugfs.c59 .release = single_release,
/linux-4.4.14/arch/mips/alchemy/common/
H A Ddma.c46 * All drivers needing DMA channels, should allocate and release them
50 * the same sequence and release them in the reverse order.
53 * When releasing them, first release the IRQ, then release the DMA. The
/linux-4.4.14/arch/arm/mach-integrator/
H A Dlm.c81 dev->dev.release = lm_device_release; lm_device_register()
/linux-4.4.14/include/linux/i2c/
H A Dbh1770glc.h33 * @release_resources: Call back for interrupte line release function
/linux-4.4.14/drivers/mtd/
H A Dmtd_blkdevs.c226 if (dev->tr->release) blktrans_open()
227 dev->tr->release(dev); blktrans_open()
254 if (dev->tr->release) blktrans_release()
255 dev->tr->release(dev); blktrans_release()
314 .release = blktrans_release,
486 if (old->tr->release) del_mtd_blktrans_dev()
487 old->tr->release(old); del_mtd_blktrans_dev()
/linux-4.4.14/fs/cifs/
H A Dcifs_debug.c251 .release = single_release,
370 .release = single_release,
456 .release = single_release,
496 .release = single_release,
536 .release = single_release,
576 .release = single_release,
690 .release = single_release,
/linux-4.4.14/drivers/macintosh/
H A Dwindfarm_smu_sensors.c177 .release = smu_ads_release,
182 .release = smu_ads_release,
187 .release = smu_ads_release,
192 .release = smu_ads_release,
332 .release = smu_cpu_power_release,

Completed in 5989 milliseconds

1234567891011>>