Lines Matching defs:unit

130  * Terminal and unit management
850 struct uvc_entity *unit;
883 * extension unit.
896 unit = uvc_alloc_entity(UVC_VC_EXTENSION_UNIT, buffer[3],
898 if (unit == NULL)
901 memcpy(unit->guid, &buffer[4], 16);
902 unit->extension.bNumControls = buffer[20];
903 memcpy(unit->baSourceID, &buffer[22], p);
904 unit->extension.bControlSize = buffer[22+p];
905 unit->extension.bmControls = (u8 *)unit + sizeof(*unit);
906 unit->extension.bmControlsType = (u8 *)unit + sizeof(*unit)
908 memcpy(unit->extension.bmControls, &buffer[23+p], 2*n);
910 uvc_entity_set_name(dev, unit, "Extension", buffer[24+p+2*n]);
912 list_add_tail(&unit->list, &dev->entities);
924 struct uvc_entity *unit, *term;
971 * confused with a unit.
1056 * could be confused with a unit.
1089 unit = uvc_alloc_entity(buffer[2], buffer[3], p + 1, 0);
1090 if (unit == NULL)
1093 memcpy(unit->baSourceID, &buffer[5], p);
1095 uvc_entity_set_name(dev, unit, "Selector", buffer[5+p]);
1097 list_add_tail(&unit->list, &dev->entities);
1111 unit = uvc_alloc_entity(buffer[2], buffer[3], 2, n);
1112 if (unit == NULL)
1115 memcpy(unit->baSourceID, &buffer[4], 1);
1116 unit->processing.wMaxMultiplier =
1118 unit->processing.bControlSize = buffer[7];
1119 unit->processing.bmControls = (u8 *)unit + sizeof(*unit);
1120 memcpy(unit->processing.bmControls, &buffer[8], n);
1122 unit->processing.bmVideoStandards = buffer[9+n];
1124 uvc_entity_set_name(dev, unit, "Processing", buffer[8+n]);
1126 list_add_tail(&unit->list, &dev->entities);
1140 unit = uvc_alloc_entity(buffer[2], buffer[3], p + 1, n);
1141 if (unit == NULL)
1144 memcpy(unit->guid, &buffer[4], 16);
1145 unit->extension.bNumControls = buffer[20];
1146 memcpy(unit->baSourceID, &buffer[22], p);
1147 unit->extension.bControlSize = buffer[22+p];
1148 unit->extension.bmControls = (u8 *)unit + sizeof(*unit);
1149 memcpy(unit->extension.bmControls, &buffer[23+p], n);
1151 uvc_entity_set_name(dev, unit, "Extension", buffer[23+p+n]);
1153 list_add_tail(&unit->list, &dev->entities);
1223 struct uvc_entity *unit = dev->gpio_unit;
1227 if (!unit)
1230 new_val = gpiod_get_value_cansleep(unit->gpio.gpio_privacy);
1234 uvc_ctrl_status_event(chain, unit->controls, &new_val);
1268 struct uvc_entity *unit;
1282 unit = uvc_alloc_entity(UVC_EXT_GPIO_UNIT, UVC_EXT_GPIO_UNIT_ID, 0, 1);
1283 if (!unit)
1286 unit->gpio.gpio_privacy = gpio_privacy;
1287 unit->gpio.irq = irq;
1288 unit->gpio.bControlSize = 1;
1289 unit->gpio.bmControls = (u8 *)unit + sizeof(*unit);
1290 unit->gpio.bmControls[0] = 1;
1291 unit->get_cur = uvc_gpio_get_cur;
1292 unit->get_info = uvc_gpio_get_info;
1293 strscpy(unit->name, "GPIO", sizeof(unit->name));
1295 list_add_tail(&unit->list, &dev->entities);
1297 dev->gpio_unit = unit;
1304 struct uvc_entity *unit = dev->gpio_unit;
1306 if (!unit || unit->gpio.irq < 0)
1309 return devm_request_threaded_irq(&dev->udev->dev, unit->gpio.irq, NULL,
1343 * Extension Units connected to the main chain as single-unit branches are
1355 "Extension unit %d has more than 1 input pin\n",
1451 "Extension unit %d has more than 1 input pin\n",
1463 * avoid this problem, connect the extension unit to
1473 "Can't connect extension unit %u in chain\n",
1550 "Selector unit %d input %d isn't connected to an input terminal\n",