Lines Matching refs:xu
792 struct uvcg_extension *xu = to_uvcg_extension(item); \
803 ret = sprintf(page, "%u\n", xu->desc.aname); \
821 struct uvcg_extension *xu = to_uvcg_extension(item);
837 xu->desc.bNumControls = num;
855 struct uvcg_extension *xu = to_uvcg_extension(item);
873 if (num == xu->desc.bNrInPins) {
878 tmp_buf = krealloc_array(xu->desc.baSourceID, num, sizeof(u8),
885 xu->desc.baSourceID = tmp_buf;
886 xu->desc.bNrInPins = num;
887 xu->desc.bLength = UVC_DT_EXTENSION_UNIT_SIZE(xu->desc.bNrInPins,
888 xu->desc.bControlSize);
908 struct uvcg_extension *xu = to_uvcg_extension(item);
926 if (num == xu->desc.bControlSize) {
931 tmp_buf = krealloc_array(xu->desc.bmControls, num, sizeof(u8),
938 xu->desc.bmControls = tmp_buf;
939 xu->desc.bControlSize = num;
940 xu->desc.bLength = UVC_DT_EXTENSION_UNIT_SIZE(xu->desc.bNrInPins,
941 xu->desc.bControlSize);
958 struct uvcg_extension *xu = to_uvcg_extension(item);
968 memcpy(page, xu->desc.guidExtensionCode, sizeof(xu->desc.guidExtensionCode));
973 return sizeof(xu->desc.guidExtensionCode);
981 struct uvcg_extension *xu = to_uvcg_extension(item);
992 memcpy(xu->desc.guidExtensionCode, page,
993 min(sizeof(xu->desc.guidExtensionCode), len));
998 ret = sizeof(xu->desc.guidExtensionCode);
1010 struct uvcg_extension *xu = to_uvcg_extension(item);
1022 for (ret = 0, i = 0; i < xu->desc.bNrInPins; ++i) {
1023 ret += sprintf(pg, "%u\n", xu->desc.baSourceID[i]);
1038 struct uvcg_extension *xu = to_uvcg_extension(item);
1069 kfree(xu->desc.baSourceID);
1070 xu->desc.baSourceID = source_ids;
1071 xu->desc.bNrInPins = n;
1072 xu->desc.bLength = UVC_DT_EXTENSION_UNIT_SIZE(xu->desc.bNrInPins,
1073 xu->desc.bControlSize);
1089 struct uvcg_extension *xu = to_uvcg_extension(item);
1101 for (ret = 0, i = 0; i < xu->desc.bControlSize; ++i) {
1102 ret += sprintf(pg, "0x%02x\n", xu->desc.bmControls[i]);
1117 struct uvcg_extension *xu = to_uvcg_extension(item);
1148 kfree(xu->desc.bmControls);
1149 xu->desc.bmControls = bm_controls;
1150 xu->desc.bControlSize = n;
1151 xu->desc.bLength = UVC_DT_EXTENSION_UNIT_SIZE(xu->desc.bNrInPins,
1152 xu->desc.bControlSize);
1179 struct uvcg_extension *xu = container_of(item, struct uvcg_extension, item);
1181 kfree(xu);
1187 struct uvcg_extension *xu = to_uvcg_extension(src);
1204 xu->string_descriptor_index = string->usb_string.id;
1216 struct uvcg_extension *xu = to_uvcg_extension(src);
1227 xu->string_descriptor_index = 0;
1248 struct uvcg_extension *xu = container_of(item, struct uvcg_extension, item);
1258 list_del(&xu->list);
1259 kfree(xu->desc.baSourceID);
1260 kfree(xu->desc.bmControls);
1268 struct uvcg_extension *xu;
1274 xu = kzalloc(sizeof(*xu), GFP_KERNEL);
1275 if (!xu)
1278 xu->desc.bLength = UVC_DT_EXTENSION_UNIT_SIZE(0, 0);
1279 xu->desc.bDescriptorType = USB_DT_CS_INTERFACE;
1280 xu->desc.bDescriptorSubType = UVC_VC_EXTENSION_UNIT;
1281 xu->desc.bNumControls = 0;
1282 xu->desc.bNrInPins = 0;
1283 xu->desc.baSourceID = NULL;
1284 xu->desc.bControlSize = 0;
1285 xu->desc.bmControls = NULL;
1289 xu->desc.bUnitID = ++opts->last_unit_id;
1291 config_item_init_type_name(&xu->item, name, &uvcg_extension_type);
1292 list_add_tail(&xu->list, &opts->extension_units);
1296 return &xu->item;