blob: 8362ee572e1e23a46031fbcd237a75f51587a7a7 [file] [log] [blame]
Greg Kroah-Hartman5fd54ac2017-11-03 11:28:30 +01001// SPDX-License-Identifier: GPL-2.0
Andrzej Pietrasiewiczf8f93d22014-07-22 19:58:30 +02002/*
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 <andrzej.p@samsung.com>
Andrzej Pietrasiewiczf8f93d22014-07-22 19:58:30 +020011 */
12
13#ifndef U_UAC2_H
14#define U_UAC2_H
15
16#include <linux/usb/composite.h>
17
Andrzej Pietrasiewicz065a1072014-07-22 19:58:34 +020018#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
Peter Chene92b9d42017-01-04 10:19:23 +080024#define UAC2_DEF_REQ_NUM 2
Andrzej Pietrasiewicz065a1072014-07-22 19:58:34 +020025
Andrzej Pietrasiewiczf8f93d22014-07-22 19:58:30 +020026struct 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;
Peter Chene92b9d42017-01-04 10:19:23 +080034 int req_number;
Andrzej Pietrasiewiczf8f93d22014-07-22 19:58:30 +020035 bool bound;
Andrzej Pietrasiewicz3aeea3c2014-07-22 19:58:35 +020036
37 struct mutex lock;
38 int refcnt;
Andrzej Pietrasiewiczf8f93d22014-07-22 19:58:30 +020039};
40
41#endif