Lines Matching refs:entity
27 struct uvc_entity *entity) in uvc_mc_register_entity() argument
34 sink = (UVC_ENTITY_TYPE(entity) == UVC_TT_STREAMING) in uvc_mc_register_entity()
35 ? (entity->vdev ? &entity->vdev->entity : NULL) in uvc_mc_register_entity()
36 : &entity->subdev.entity; in uvc_mc_register_entity()
40 for (i = 0; i < entity->num_pads; ++i) { in uvc_mc_register_entity()
45 if (!(entity->pads[i].flags & MEDIA_PAD_FL_SINK)) in uvc_mc_register_entity()
48 remote = uvc_entity_by_id(chain->dev, entity->baSourceID[i]); in uvc_mc_register_entity()
53 ? (remote->vdev ? &remote->vdev->entity : NULL) in uvc_mc_register_entity()
54 : &remote->subdev.entity; in uvc_mc_register_entity()
65 if (UVC_ENTITY_TYPE(entity) == UVC_TT_STREAMING) in uvc_mc_register_entity()
68 return v4l2_device_register_subdev(&chain->dev->vdev, &entity->subdev); in uvc_mc_register_entity()
74 void uvc_mc_cleanup_entity(struct uvc_entity *entity) in uvc_mc_cleanup_entity() argument
76 if (UVC_ENTITY_TYPE(entity) != UVC_TT_STREAMING) in uvc_mc_cleanup_entity()
77 media_entity_cleanup(&entity->subdev.entity); in uvc_mc_cleanup_entity()
78 else if (entity->vdev != NULL) in uvc_mc_cleanup_entity()
79 media_entity_cleanup(&entity->vdev->entity); in uvc_mc_cleanup_entity()
82 static int uvc_mc_init_entity(struct uvc_entity *entity) in uvc_mc_init_entity() argument
86 if (UVC_ENTITY_TYPE(entity) != UVC_TT_STREAMING) { in uvc_mc_init_entity()
87 v4l2_subdev_init(&entity->subdev, &uvc_subdev_ops); in uvc_mc_init_entity()
88 strlcpy(entity->subdev.name, entity->name, in uvc_mc_init_entity()
89 sizeof(entity->subdev.name)); in uvc_mc_init_entity()
91 ret = media_entity_init(&entity->subdev.entity, in uvc_mc_init_entity()
92 entity->num_pads, entity->pads, 0); in uvc_mc_init_entity()
93 } else if (entity->vdev != NULL) { in uvc_mc_init_entity()
94 ret = media_entity_init(&entity->vdev->entity, in uvc_mc_init_entity()
95 entity->num_pads, entity->pads, 0); in uvc_mc_init_entity()
96 if (entity->flags & UVC_ENTITY_FLAG_DEFAULT) in uvc_mc_init_entity()
97 entity->vdev->entity.flags |= MEDIA_ENT_FL_DEFAULT; in uvc_mc_init_entity()
106 struct uvc_entity *entity; in uvc_mc_register_entities() local
109 list_for_each_entry(entity, &chain->entities, chain) { in uvc_mc_register_entities()
110 ret = uvc_mc_init_entity(entity); in uvc_mc_register_entities()
113 "entity %u\n", entity->id); in uvc_mc_register_entities()
118 list_for_each_entry(entity, &chain->entities, chain) { in uvc_mc_register_entities()
119 ret = uvc_mc_register_entity(chain, entity); in uvc_mc_register_entities()
122 "entity %u\n", entity->id); in uvc_mc_register_entities()