Loading drivers/usb/gadget/function/f_uac1.c +14 −14 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ static int generic_get_cmd(struct usb_audio_control *con, u8 cmd); #define F_AUDIO_NUM_INTERFACES 2 /* B.3.1 Standard AC Interface Descriptor */ static struct usb_interface_descriptor ac_interface_desc = { static struct usb_interface_descriptor uac1_interface_desc = { .bLength = USB_DT_INTERFACE_SIZE, .bDescriptorType = USB_DT_INTERFACE, .bNumEndpoints = 0, Loading @@ -65,7 +65,7 @@ DECLARE_UAC_AC_HEADER_DESCRIPTOR(2); ) /* B.3.2 Class-Specific AC Interface Descriptor */ static struct uac1_ac_header_descriptor_2 ac_header_desc = { static struct uac1_ac_header_descriptor_2 uac1_header_desc = { .bLength = UAC_DT_AC_HEADER_LENGTH, .bDescriptorType = USB_DT_CS_INTERFACE, .bDescriptorSubtype = UAC_HEADER, Loading Loading @@ -352,8 +352,8 @@ audio_iad_descriptor = { static struct usb_descriptor_header *f_audio_desc[] = { (struct usb_descriptor_header *)&audio_iad_descriptor, (struct usb_descriptor_header *)&ac_interface_desc, (struct usb_descriptor_header *)&ac_header_desc, (struct usb_descriptor_header *)&uac1_interface_desc, (struct usb_descriptor_header *)&uac1_header_desc, (struct usb_descriptor_header *)µphone_input_terminal_desc, (struct usb_descriptor_header *)µphone_output_terminal_desc, Loading Loading @@ -381,8 +381,8 @@ static struct usb_descriptor_header *f_audio_desc[] = { static struct usb_descriptor_header *f_audio_ss_desc[] = { (struct usb_descriptor_header *)&audio_iad_descriptor, (struct usb_descriptor_header *)&ac_interface_desc, (struct usb_descriptor_header *)&ac_header_desc, (struct usb_descriptor_header *)&uac1_interface_desc, (struct usb_descriptor_header *)&uac1_header_desc, (struct usb_descriptor_header *)µphone_input_terminal_desc, (struct usb_descriptor_header *)µphone_output_terminal_desc, Loading Loading @@ -958,9 +958,9 @@ static int f_audio_get_alt(struct usb_function *f, unsigned intf) { struct f_audio *audio = func_to_audio(f); if (intf == ac_header_desc.baInterfaceNr[0]) if (intf == uac1_header_desc.baInterfaceNr[0]) return audio->alt_intf[0]; if (intf == ac_header_desc.baInterfaceNr[1]) if (intf == uac1_header_desc.baInterfaceNr[1]) return audio->alt_intf[1]; return 0; Loading @@ -987,7 +987,7 @@ static int f_audio_set_alt(struct usb_function *f, unsigned intf, unsigned alt) req_playback_count = opts->req_playback_count; audio_playback_buf_size = opts->audio_playback_buf_size; if (intf == ac_header_desc.baInterfaceNr[0]) { if (intf == uac1_header_desc.baInterfaceNr[0]) { if (audio->alt_intf[0] == alt) { pr_debug("Alt interface is already set to %d. Do nothing.\n", alt); Loading Loading @@ -1041,7 +1041,7 @@ static int f_audio_set_alt(struct usb_function *f, unsigned intf, unsigned alt) spin_unlock_irqrestore(&audio->capture_lock, flags); } audio->alt_intf[0] = alt; } else if (intf == ac_header_desc.baInterfaceNr[1]) { } else if (intf == uac1_header_desc.baInterfaceNr[1]) { if (audio->alt_intf[1] == alt) { pr_debug("Alt interface is already set to %d. Do nothing.\n", alt); Loading Loading @@ -1179,7 +1179,7 @@ f_audio_bind(struct usb_configuration *c, struct usb_function *f) status = PTR_ERR(us); goto fail; } ac_interface_desc.iInterface = us[STR_AC_IF].id; uac1_interface_desc.iInterface = us[STR_AC_IF].id; speaker_input_terminal_desc.iTerminal = us[STR_INPUT_TERMINAL].id; speaker_input_terminal_desc.iChannelNames = us[STR_INPUT_TERMINAL_CH_NAMES].id; Loading @@ -1196,7 +1196,7 @@ f_audio_bind(struct usb_configuration *c, struct usb_function *f) pr_err("%s: failed to allocate desc interface", __func__); goto fail; } ac_interface_desc.bInterfaceNumber = status; uac1_interface_desc.bInterfaceNumber = status; audio_iad_descriptor.bFirstInterface = status; status = usb_interface_id(c, f); Loading @@ -1206,7 +1206,7 @@ f_audio_bind(struct usb_configuration *c, struct usb_function *f) } microphone_as_interface_alt_0_desc.bInterfaceNumber = status; microphone_as_interface_alt_1_desc.bInterfaceNumber = status; ac_header_desc.baInterfaceNr[0] = status; uac1_header_desc.baInterfaceNr[0] = status; audio->alt_intf[0] = 0; status = usb_interface_id(c, f); Loading @@ -1216,7 +1216,7 @@ f_audio_bind(struct usb_configuration *c, struct usb_function *f) } speaker_as_interface_alt_0_desc.bInterfaceNumber = status; speaker_as_interface_alt_1_desc.bInterfaceNumber = status; ac_header_desc.baInterfaceNr[1] = status; uac1_header_desc.baInterfaceNr[1] = status; audio->alt_intf[1] = 0; status = -ENODEV; Loading Loading
drivers/usb/gadget/function/f_uac1.c +14 −14 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ static int generic_get_cmd(struct usb_audio_control *con, u8 cmd); #define F_AUDIO_NUM_INTERFACES 2 /* B.3.1 Standard AC Interface Descriptor */ static struct usb_interface_descriptor ac_interface_desc = { static struct usb_interface_descriptor uac1_interface_desc = { .bLength = USB_DT_INTERFACE_SIZE, .bDescriptorType = USB_DT_INTERFACE, .bNumEndpoints = 0, Loading @@ -65,7 +65,7 @@ DECLARE_UAC_AC_HEADER_DESCRIPTOR(2); ) /* B.3.2 Class-Specific AC Interface Descriptor */ static struct uac1_ac_header_descriptor_2 ac_header_desc = { static struct uac1_ac_header_descriptor_2 uac1_header_desc = { .bLength = UAC_DT_AC_HEADER_LENGTH, .bDescriptorType = USB_DT_CS_INTERFACE, .bDescriptorSubtype = UAC_HEADER, Loading Loading @@ -352,8 +352,8 @@ audio_iad_descriptor = { static struct usb_descriptor_header *f_audio_desc[] = { (struct usb_descriptor_header *)&audio_iad_descriptor, (struct usb_descriptor_header *)&ac_interface_desc, (struct usb_descriptor_header *)&ac_header_desc, (struct usb_descriptor_header *)&uac1_interface_desc, (struct usb_descriptor_header *)&uac1_header_desc, (struct usb_descriptor_header *)µphone_input_terminal_desc, (struct usb_descriptor_header *)µphone_output_terminal_desc, Loading Loading @@ -381,8 +381,8 @@ static struct usb_descriptor_header *f_audio_desc[] = { static struct usb_descriptor_header *f_audio_ss_desc[] = { (struct usb_descriptor_header *)&audio_iad_descriptor, (struct usb_descriptor_header *)&ac_interface_desc, (struct usb_descriptor_header *)&ac_header_desc, (struct usb_descriptor_header *)&uac1_interface_desc, (struct usb_descriptor_header *)&uac1_header_desc, (struct usb_descriptor_header *)µphone_input_terminal_desc, (struct usb_descriptor_header *)µphone_output_terminal_desc, Loading Loading @@ -958,9 +958,9 @@ static int f_audio_get_alt(struct usb_function *f, unsigned intf) { struct f_audio *audio = func_to_audio(f); if (intf == ac_header_desc.baInterfaceNr[0]) if (intf == uac1_header_desc.baInterfaceNr[0]) return audio->alt_intf[0]; if (intf == ac_header_desc.baInterfaceNr[1]) if (intf == uac1_header_desc.baInterfaceNr[1]) return audio->alt_intf[1]; return 0; Loading @@ -987,7 +987,7 @@ static int f_audio_set_alt(struct usb_function *f, unsigned intf, unsigned alt) req_playback_count = opts->req_playback_count; audio_playback_buf_size = opts->audio_playback_buf_size; if (intf == ac_header_desc.baInterfaceNr[0]) { if (intf == uac1_header_desc.baInterfaceNr[0]) { if (audio->alt_intf[0] == alt) { pr_debug("Alt interface is already set to %d. Do nothing.\n", alt); Loading Loading @@ -1041,7 +1041,7 @@ static int f_audio_set_alt(struct usb_function *f, unsigned intf, unsigned alt) spin_unlock_irqrestore(&audio->capture_lock, flags); } audio->alt_intf[0] = alt; } else if (intf == ac_header_desc.baInterfaceNr[1]) { } else if (intf == uac1_header_desc.baInterfaceNr[1]) { if (audio->alt_intf[1] == alt) { pr_debug("Alt interface is already set to %d. Do nothing.\n", alt); Loading Loading @@ -1179,7 +1179,7 @@ f_audio_bind(struct usb_configuration *c, struct usb_function *f) status = PTR_ERR(us); goto fail; } ac_interface_desc.iInterface = us[STR_AC_IF].id; uac1_interface_desc.iInterface = us[STR_AC_IF].id; speaker_input_terminal_desc.iTerminal = us[STR_INPUT_TERMINAL].id; speaker_input_terminal_desc.iChannelNames = us[STR_INPUT_TERMINAL_CH_NAMES].id; Loading @@ -1196,7 +1196,7 @@ f_audio_bind(struct usb_configuration *c, struct usb_function *f) pr_err("%s: failed to allocate desc interface", __func__); goto fail; } ac_interface_desc.bInterfaceNumber = status; uac1_interface_desc.bInterfaceNumber = status; audio_iad_descriptor.bFirstInterface = status; status = usb_interface_id(c, f); Loading @@ -1206,7 +1206,7 @@ f_audio_bind(struct usb_configuration *c, struct usb_function *f) } microphone_as_interface_alt_0_desc.bInterfaceNumber = status; microphone_as_interface_alt_1_desc.bInterfaceNumber = status; ac_header_desc.baInterfaceNr[0] = status; uac1_header_desc.baInterfaceNr[0] = status; audio->alt_intf[0] = 0; status = usb_interface_id(c, f); Loading @@ -1216,7 +1216,7 @@ f_audio_bind(struct usb_configuration *c, struct usb_function *f) } speaker_as_interface_alt_0_desc.bInterfaceNumber = status; speaker_as_interface_alt_1_desc.bInterfaceNumber = status; ac_header_desc.baInterfaceNr[1] = status; uac1_header_desc.baInterfaceNr[1] = status; audio->alt_intf[1] = 0; status = -ENODEV; Loading