1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * u_uac2.h 4 * 5 * Utility definitions for UAC2 function 6 * 7 * Copyright (c) 2014 Samsung Electronics Co., Ltd. 8 * http://www.samsung.com 9 * 10 * Author: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com> 11 */ 12 13 #ifndef U_UAC2_H 14 #define U_UAC2_H 15 16 #include <linux/usb/composite.h> 17 18 #define UAC2_DEF_PCHMASK 0x3 19 #define UAC2_DEF_PSRATE 48000 20 #define UAC2_DEF_PSSIZE 2 21 #define UAC2_DEF_CCHMASK 0x3 22 #define UAC2_DEF_CSRATE 64000 23 #define UAC2_DEF_CSSIZE 2 24 #define UAC2_DEF_REQ_NUM 2 25 26 struct f_uac2_opts { 27 struct usb_function_instance func_inst; 28 int p_chmask; 29 int p_srate; 30 int p_ssize; 31 int c_chmask; 32 int c_srate; 33 int c_ssize; 34 int req_number; 35 bool bound; 36 37 struct mutex lock; 38 int refcnt; 39 }; 40 41 #endif 42