Lines Matching refs: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;
483 __u32 entity;
498 if (get_user(links.entity, &ulinks->entity)
575 static void __media_device_unregister_entity(struct media_entity *entity)
577 struct media_device *mdev = entity->graph_obj.mdev;
582 ida_free(&mdev->entity_internal_idx, entity->internal_idx);
584 /* Remove all interface links pointing to this entity */
587 if (link->entity == entity)
592 /* Remove all data links that belong to this entity */
593 __media_entity_remove_links(entity);
595 /* Remove all pads that belong to this entity */
596 media_entity_for_each_pad(entity, iter)
599 /* Remove the entity */
600 media_gobj_destroy(&entity->graph_obj);
602 /* invoke entity_notify callbacks to handle entity removal?? */
606 struct media_entity *entity)
612 if (entity->function == MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN ||
613 entity->function == MEDIA_ENT_F_UNKNOWN)
615 "Entity type for entity %s was not initialized!\n",
616 entity->name);
618 /* Warn if we apparently re-register an entity */
619 WARN_ON(entity->graph_obj.mdev != NULL);
620 entity->graph_obj.mdev = mdev;
621 INIT_LIST_HEAD(&entity->links);
622 entity->num_links = 0;
623 entity->num_backlinks = 0;
628 entity->internal_idx = ret;
632 max(mdev->entity_internal_idx_max, entity->internal_idx);
634 /* Initialize media_gobj embedded at the entity */
635 media_gobj_create(mdev, MEDIA_GRAPH_ENTITY, &entity->graph_obj);
638 media_entity_for_each_pad(entity, iter)
643 notify->notify(entity, notify->notify_data);
656 __media_device_unregister_entity(entity);
669 void media_device_unregister_entity(struct media_entity *entity)
671 struct media_device *mdev = entity->graph_obj.mdev;
677 __media_device_unregister_entity(entity);
784 struct media_entity *entity;
804 list_for_each_entry_safe(entity, next, &mdev->entities, graph_obj.list)
805 __media_device_unregister_entity(entity);