Vijayavardhan Vennapusa e1f02a161b f_uac1: Remove unwanted descriptors for volume/mute support
Remove unwanted descriptors like dummy mic input descriptor and
related feature unit descriptor as those are not required for
volume/mute support for mic and speaker paths.

Change-Id: I93b2dbe114183212570229c3ccb89a36a4008917
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
2020-03-19 17:11:21 +05:30

59 lines
1.2 KiB
C

/*
* u_uac1.h - Utility definitions for UAC1 function
*
* Copyright (C) 2016 Ruslan Bilovol <ruslan.bilovol@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __U_UAC1_H
#define __U_UAC1_H
#include <linux/usb/composite.h>
#define UAC1_OUT_EP_MAX_PACKET_SIZE 200
#define UAC1_DEF_CCHMASK 0x3
#define UAC1_DEF_CSRATE 48000
#define UAC1_DEF_CSSIZE 2
#define UAC1_DEF_PCHMASK 0x3
#define UAC1_DEF_PSRATE 48000
#define UAC1_DEF_PSSIZE 2
#define UAC1_DEF_REQ_NUM 2
struct f_uac1_opts {
struct usb_function_instance func_inst;
struct f_uac1 *uac1;
int c_chmask;
int c_srate;
int c_ssize;
int p_chmask;
int p_srate;
int p_ssize;
int req_number;
unsigned bound:1;
struct mutex lock;
int refcnt;
};
#define UAC_DT_MIXER_UNIT_SIZE 13
/* 4.3.2.3 Mixer Unit Descriptor */
struct uac1_mixer_unit_descriptor {
__u8 bLength;
__u8 bDescriptorType;
__u8 bDescriptorSubtype;
__u8 bUnitID;
__u8 bNrInPins;
__u8 baSourceID[2];
__u8 bNrChannels;
__le16 wChannelConfig;
__u8 iChannelNames;
__u8 bmControls;
__u8 iMixer;
} __packed;
#endif /* __U_UAC1_H */