Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 77c6d68b authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: gadget: uac1: Fix redefiniction conflict for ac interface"

parents b65f33be 5b7040b1
Loading
Loading
Loading
Loading
+14 −14
Original line number Diff line number Diff line
@@ -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,
@@ -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,
@@ -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 *)&microphone_input_terminal_desc,
	(struct usb_descriptor_header *)&microphone_output_terminal_desc,
@@ -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 *)&microphone_input_terminal_desc,
	(struct usb_descriptor_header *)&microphone_output_terminal_desc,
@@ -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;
@@ -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);
@@ -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);
@@ -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;
@@ -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);
@@ -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);
@@ -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;