Lines Matching refs:entity
18 struct uvc_entity *entity) in uvc_mc_create_links() argument
25 sink = (UVC_ENTITY_TYPE(entity) == UVC_TT_STREAMING) in uvc_mc_create_links()
26 ? (entity->vdev ? &entity->vdev->entity : NULL) in uvc_mc_create_links()
27 : &entity->subdev.entity; in uvc_mc_create_links()
31 for (i = 0; i < entity->num_pads; ++i) { in uvc_mc_create_links()
36 if (!(entity->pads[i].flags & MEDIA_PAD_FL_SINK)) in uvc_mc_create_links()
39 remote = uvc_entity_by_id(chain->dev, entity->baSourceID[i]); in uvc_mc_create_links()
44 ? (remote->vdev ? &remote->vdev->entity : NULL) in uvc_mc_create_links()
45 : &remote->subdev.entity; in uvc_mc_create_links()
62 void uvc_mc_cleanup_entity(struct uvc_entity *entity) in uvc_mc_cleanup_entity() argument
64 if (UVC_ENTITY_TYPE(entity) != UVC_TT_STREAMING) in uvc_mc_cleanup_entity()
65 media_entity_cleanup(&entity->subdev.entity); in uvc_mc_cleanup_entity()
66 else if (entity->vdev != NULL) in uvc_mc_cleanup_entity()
67 media_entity_cleanup(&entity->vdev->entity); in uvc_mc_cleanup_entity()
71 struct uvc_entity *entity) in uvc_mc_init_entity() argument
75 if (UVC_ENTITY_TYPE(entity) != UVC_TT_STREAMING) { in uvc_mc_init_entity()
76 v4l2_subdev_init(&entity->subdev, &uvc_subdev_ops); in uvc_mc_init_entity()
77 strscpy(entity->subdev.name, entity->name, in uvc_mc_init_entity()
78 sizeof(entity->subdev.name)); in uvc_mc_init_entity()
80 ret = media_entity_pads_init(&entity->subdev.entity, in uvc_mc_init_entity()
81 entity->num_pads, entity->pads); in uvc_mc_init_entity()
87 &entity->subdev); in uvc_mc_init_entity()
88 } else if (entity->vdev != NULL) { in uvc_mc_init_entity()
89 ret = media_entity_pads_init(&entity->vdev->entity, in uvc_mc_init_entity()
90 entity->num_pads, entity->pads); in uvc_mc_init_entity()
91 if (entity->flags & UVC_ENTITY_FLAG_DEFAULT) in uvc_mc_init_entity()
92 entity->vdev->entity.flags |= MEDIA_ENT_FL_DEFAULT; in uvc_mc_init_entity()
101 struct uvc_entity *entity; in uvc_mc_register_entities() local
104 list_for_each_entry(entity, &chain->entities, chain) { in uvc_mc_register_entities()
105 ret = uvc_mc_init_entity(chain, entity); in uvc_mc_register_entities()
108 "entity %u\n", entity->id); in uvc_mc_register_entities()
113 list_for_each_entry(entity, &chain->entities, chain) { in uvc_mc_register_entities()
114 ret = uvc_mc_create_links(chain, entity); in uvc_mc_register_entities()
117 "entity %u\n", entity->id); in uvc_mc_register_entities()