Lines Matching defs:entity

24 #include <media/media-entity.h>
83 struct media_entity *entity;
88 media_device_for_each_entity(entity, mdev) {
89 if (((media_entity_id(entity) == id) && !next) ||
90 ((media_entity_id(entity) > id) && next)) {
91 return entity;
121 * do the wrong thing if the entity function doesn't belong to
146 upad->entity = media_entity_id(kpad->entity);
154 struct media_entity *entity;
156 entity = find_entity(mdev, links->entity);
157 if (entity == NULL)
163 for (p = 0; p < entity->num_pads; p++) {
167 media_device_kpad_to_upad(&entity->pads[p], &pad);
177 list_for_each_entry(link, &entity->links, list) {
181 if (link->source->entity != entity)
209 source = find_entity(mdev, linkd->source.entity);
210 sink = find_entity(mdev, linkd->sink.entity);
233 struct media_entity *entity;
249 media_device_for_each_entity(entity, mdev) {
261 kentity.id = entity->graph_obj.id;
262 kentity.function = entity->function;
263 kentity.flags = entity->flags;
264 strscpy(kentity.name, entity->name,
327 kpad.entity_id = pad->entity->graph_obj.id;
487 __u32 entity;
502 if (get_user(links.entity, &ulinks->entity)
579 static void __media_device_unregister_entity(struct media_entity *entity)
581 struct media_device *mdev = entity->graph_obj.mdev;
586 ida_free(&mdev->entity_internal_idx, entity->internal_idx);
588 /* Remove all interface links pointing to this entity */
591 if (link->entity == entity)
596 /* Remove all data links that belong to this entity */
597 __media_entity_remove_links(entity);
599 /* Remove all pads that belong to this entity */
600 for (i = 0; i < entity->num_pads; i++)
601 media_gobj_destroy(&entity->pads[i].graph_obj);
603 /* Remove the entity */
604 media_gobj_destroy(&entity->graph_obj);
606 /* invoke entity_notify callbacks to handle entity removal?? */
608 entity->graph_obj.mdev = NULL;
612 * media_device_register_entity - Register an entity with a media device
614 * @entity: The entity
617 struct media_entity *entity)
623 if (entity->function == MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN ||
624 entity->function == MEDIA_ENT_F_UNKNOWN)
626 "Entity type for entity %s was not initialized!\n",
627 entity->name);
629 /* Warn if we apparently re-register an entity */
630 WARN_ON(entity->graph_obj.mdev != NULL);
631 entity->graph_obj.mdev = mdev;
632 INIT_LIST_HEAD(&entity->links);
633 entity->num_links = 0;
634 entity->num_backlinks = 0;
639 entity->internal_idx = ret;
643 max(mdev->entity_internal_idx_max, entity->internal_idx);
645 /* Initialize media_gobj embedded at the entity */
646 media_gobj_create(mdev, MEDIA_GRAPH_ENTITY, &entity->graph_obj);
649 for (i = 0; i < entity->num_pads; i++)
651 &entity->pads[i].graph_obj);
655 notify->notify(entity, notify->notify_data);
668 __media_device_unregister_entity(entity);
681 void media_device_unregister_entity(struct media_entity *entity)
683 struct media_device *mdev = entity->graph_obj.mdev;
689 __media_device_unregister_entity(entity);
803 struct media_entity *entity;
823 list_for_each_entry_safe(entity, next, &mdev->entities, graph_obj.list)
824 __media_device_unregister_entity(entity);