Lines Matching refs:entity

287 	struct uvc_entity *entity;  in uvc_entity_by_id()  local
289 list_for_each_entry(entity, &dev->entities, list) { in uvc_entity_by_id()
290 if (entity->id == id) in uvc_entity_by_id()
291 return entity; in uvc_entity_by_id()
298 int id, struct uvc_entity *entity) in uvc_entity_by_reference() argument
302 if (entity == NULL) in uvc_entity_by_reference()
303 entity = list_entry(&dev->entities, struct uvc_entity, list); in uvc_entity_by_reference()
305 list_for_each_entry_continue(entity, &dev->entities, list) { in uvc_entity_by_reference()
306 for (i = 0; i < entity->bNrInPins; ++i) in uvc_entity_by_reference()
307 if (entity->baSourceID[i] == id) in uvc_entity_by_reference()
308 return entity; in uvc_entity_by_reference()
845 struct uvc_entity *entity; in uvc_alloc_entity() local
850 extra_size = ALIGN(extra_size, sizeof(*entity->pads)); in uvc_alloc_entity()
852 size = sizeof(*entity) + extra_size + sizeof(*entity->pads) * num_pads in uvc_alloc_entity()
854 entity = kzalloc(size, GFP_KERNEL); in uvc_alloc_entity()
855 if (entity == NULL) in uvc_alloc_entity()
858 entity->id = id; in uvc_alloc_entity()
859 entity->type = type; in uvc_alloc_entity()
861 entity->num_links = 0; in uvc_alloc_entity()
862 entity->num_pads = num_pads; in uvc_alloc_entity()
863 entity->pads = ((void *)(entity + 1)) + extra_size; in uvc_alloc_entity()
866 entity->pads[i].flags = MEDIA_PAD_FL_SINK; in uvc_alloc_entity()
867 if (!UVC_ENTITY_IS_OTERM(entity)) in uvc_alloc_entity()
868 entity->pads[num_pads-1].flags = MEDIA_PAD_FL_SOURCE; in uvc_alloc_entity()
870 entity->bNrInPins = num_inputs; in uvc_alloc_entity()
871 entity->baSourceID = (__u8 *)(&entity->pads[num_pads]); in uvc_alloc_entity()
873 return entity; in uvc_alloc_entity()
1286 struct uvc_entity *entity) in uvc_scan_chain_entity() argument
1288 switch (UVC_ENTITY_TYPE(entity)) { in uvc_scan_chain_entity()
1291 printk(" <- XU %d", entity->id); in uvc_scan_chain_entity()
1293 if (entity->bNrInPins != 1) { in uvc_scan_chain_entity()
1295 "than 1 input pin.\n", entity->id); in uvc_scan_chain_entity()
1303 printk(" <- PU %d", entity->id); in uvc_scan_chain_entity()
1311 chain->processing = entity; in uvc_scan_chain_entity()
1316 printk(" <- SU %d", entity->id); in uvc_scan_chain_entity()
1319 if (entity->bNrInPins == 1) in uvc_scan_chain_entity()
1328 chain->selector = entity; in uvc_scan_chain_entity()
1335 printk(" <- IT %d\n", entity->id); in uvc_scan_chain_entity()
1343 printk(" OT %d", entity->id); in uvc_scan_chain_entity()
1348 if (UVC_ENTITY_IS_ITERM(entity)) { in uvc_scan_chain_entity()
1350 printk(" <- IT %d\n", entity->id); in uvc_scan_chain_entity()
1353 printk(" OT %d", entity->id); in uvc_scan_chain_entity()
1360 "0x%04x found in chain.\n", UVC_ENTITY_TYPE(entity)); in uvc_scan_chain_entity()
1364 list_add_tail(&entity->chain, &chain->entities); in uvc_scan_chain_entity()
1369 struct uvc_entity *entity, struct uvc_entity *prev) in uvc_scan_chain_forward() argument
1379 forward = uvc_entity_by_reference(chain->dev, entity->id, in uvc_scan_chain_forward()
1391 entity->id); in uvc_scan_chain_forward()
1435 struct uvc_entity *entity = *_entity; in uvc_scan_chain_backward() local
1439 switch (UVC_ENTITY_TYPE(entity)) { in uvc_scan_chain_backward()
1442 id = entity->baSourceID[0]; in uvc_scan_chain_backward()
1447 if (entity->bNrInPins == 1) { in uvc_scan_chain_backward()
1448 id = entity->baSourceID[0]; in uvc_scan_chain_backward()
1455 chain->selector = entity; in uvc_scan_chain_backward()
1456 for (i = 0; i < entity->bNrInPins; ++i) { in uvc_scan_chain_backward()
1457 id = entity->baSourceID[i]; in uvc_scan_chain_backward()
1462 "input terminal\n", entity->id, i); in uvc_scan_chain_backward()
1470 uvc_scan_chain_forward(chain, term, entity); in uvc_scan_chain_backward()
1486 id = UVC_ENTITY_IS_OTERM(entity) ? entity->baSourceID[0] : 0; in uvc_scan_chain_backward()
1495 entity = uvc_entity_by_id(chain->dev, id); in uvc_scan_chain_backward()
1496 if (entity == NULL) { in uvc_scan_chain_backward()
1502 *_entity = entity; in uvc_scan_chain_backward()
1509 struct uvc_entity *entity, *prev; in uvc_scan_chain() local
1513 entity = term; in uvc_scan_chain()
1516 while (entity != NULL) { in uvc_scan_chain()
1518 if (entity->chain.next || entity->chain.prev) { in uvc_scan_chain()
1520 "entity %d already in chain.\n", entity->id); in uvc_scan_chain()
1525 if (uvc_scan_chain_entity(chain, entity) < 0) in uvc_scan_chain()
1529 if (uvc_scan_chain_forward(chain, entity, prev) < 0) in uvc_scan_chain()
1533 prev = entity; in uvc_scan_chain()
1534 if (uvc_scan_chain_backward(chain, &entity) < 0) in uvc_scan_chain()
1667 struct uvc_entity *entity; in uvc_delete() local
1668 entity = list_entry(p, struct uvc_entity, list); in uvc_delete()
1670 uvc_mc_cleanup_entity(entity); in uvc_delete()
1672 kfree(entity); in uvc_delete()