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