1 /* 2 * u_uac2.h 3 * 4 * Utility definitions for UAC2 function 5 * 6 * Copyright (c) 2014 Samsung Electronics Co., Ltd. 7 * http://www.samsung.com 8 * 9 * Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com> 10 * 11 * This program is free software; you can redistribute it and/or modify 12 * it under the terms of the GNU General Public License version 2 as 13 * published by the Free Software Foundation. 14 */ 15 16 #ifndef U_UAC2_H 17 #define U_UAC2_H 18 19 #include <linux/usb/composite.h> 20 21 #define UAC2_DEF_PCHMASK 0x3 22 #define UAC2_DEF_PSRATE 48000 23 #define UAC2_DEF_PSSIZE 2 24 #define UAC2_DEF_CCHMASK 0x3 25 #define UAC2_DEF_CSRATE 64000 26 #define UAC2_DEF_CSSIZE 2 27 #define UAC2_DEF_REQ_NUM 2 28 29 struct f_uac2_opts { 30 struct usb_function_instance func_inst; 31 int p_chmask; 32 int p_srate; 33 int p_ssize; 34 int c_chmask; 35 int c_srate; 36 int c_ssize; 37 int req_number; 38 bool bound; 39 40 struct mutex lock; 41 int refcnt; 42 }; 43 44 #endif 45