audio.c (ce6a7bfbe57161edb53fb37e7191008ceff00752) audio.c (a7339e4f5788bd088bb0be1f96a6cce459676ed0)
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * audio.c -- Audio gadget driver
4 *
5 * Copyright (C) 2008 Bryan Wu <cooloney@kernel.org>
6 * Copyright (C) 2008 Analog Devices, Inc
7 */
8

--- 12 unchanged lines hidden (view full) ---

21#include "u_uac2.h"
22
23/* Playback(USB-IN) Default Stereo - Fl/Fr */
24static int p_chmask = UAC2_DEF_PCHMASK;
25module_param(p_chmask, uint, 0444);
26MODULE_PARM_DESC(p_chmask, "Playback Channel Mask");
27
28/* Playback Default 48 KHz */
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * audio.c -- Audio gadget driver
4 *
5 * Copyright (C) 2008 Bryan Wu <cooloney@kernel.org>
6 * Copyright (C) 2008 Analog Devices, Inc
7 */
8

--- 12 unchanged lines hidden (view full) ---

21#include "u_uac2.h"
22
23/* Playback(USB-IN) Default Stereo - Fl/Fr */
24static int p_chmask = UAC2_DEF_PCHMASK;
25module_param(p_chmask, uint, 0444);
26MODULE_PARM_DESC(p_chmask, "Playback Channel Mask");
27
28/* Playback Default 48 KHz */
29static int p_srate = UAC2_DEF_PSRATE;
30module_param(p_srate, uint, 0444);
31MODULE_PARM_DESC(p_srate, "Playback Sampling Rate");
29static int p_srates[UAC_MAX_RATES] = {UAC2_DEF_PSRATE};
30static int p_srates_cnt = 1;
31module_param_array_named(p_srate, p_srates, uint, &p_srates_cnt, 0444);
32MODULE_PARM_DESC(p_srate, "Playback Sampling Rates (array)");
32
33/* Playback Default 16bits/sample */
34static int p_ssize = UAC2_DEF_PSSIZE;
35module_param(p_ssize, uint, 0444);
36MODULE_PARM_DESC(p_ssize, "Playback Sample Size(bytes)");
37
38/* Capture(USB-OUT) Default Stereo - Fl/Fr */
39static int c_chmask = UAC2_DEF_CCHMASK;
40module_param(c_chmask, uint, 0444);
41MODULE_PARM_DESC(c_chmask, "Capture Channel Mask");
42
43/* Capture Default 64 KHz */
33
34/* Playback Default 16bits/sample */
35static int p_ssize = UAC2_DEF_PSSIZE;
36module_param(p_ssize, uint, 0444);
37MODULE_PARM_DESC(p_ssize, "Playback Sample Size(bytes)");
38
39/* Capture(USB-OUT) Default Stereo - Fl/Fr */
40static int c_chmask = UAC2_DEF_CCHMASK;
41module_param(c_chmask, uint, 0444);
42MODULE_PARM_DESC(c_chmask, "Capture Channel Mask");
43
44/* Capture Default 64 KHz */
44static int c_srate = UAC2_DEF_CSRATE;
45module_param(c_srate, uint, 0444);
46MODULE_PARM_DESC(c_srate, "Capture Sampling Rate");
45static int c_srates[UAC_MAX_RATES] = {UAC2_DEF_CSRATE};
46static int c_srates_cnt = 1;
47module_param_array_named(c_srate, c_srates, uint, &c_srates_cnt, 0444);
48MODULE_PARM_DESC(c_srate, "Capture Sampling Rates (array)");
47
48/* Capture Default 16bits/sample */
49static int c_ssize = UAC2_DEF_CSSIZE;
50module_param(c_ssize, uint, 0444);
51MODULE_PARM_DESC(c_ssize, "Capture Sample Size(bytes)");
52#else
53#ifndef CONFIG_GADGET_UAC1_LEGACY
54#include "u_uac1.h"

--- 177 unchanged lines hidden (view full) ---

232};
233
234/*-------------------------------------------------------------------------*/
235
236static int audio_bind(struct usb_composite_dev *cdev)
237{
238#ifndef CONFIG_GADGET_UAC1
239 struct f_uac2_opts *uac2_opts;
49
50/* Capture Default 16bits/sample */
51static int c_ssize = UAC2_DEF_CSSIZE;
52module_param(c_ssize, uint, 0444);
53MODULE_PARM_DESC(c_ssize, "Capture Sample Size(bytes)");
54#else
55#ifndef CONFIG_GADGET_UAC1_LEGACY
56#include "u_uac1.h"

--- 177 unchanged lines hidden (view full) ---

234};
235
236/*-------------------------------------------------------------------------*/
237
238static int audio_bind(struct usb_composite_dev *cdev)
239{
240#ifndef CONFIG_GADGET_UAC1
241 struct f_uac2_opts *uac2_opts;
242 int i;
240#else
241#ifndef CONFIG_GADGET_UAC1_LEGACY
242 struct f_uac1_opts *uac1_opts;
243#else
244 struct f_uac1_legacy_opts *uac1_opts;
245#endif
246#endif
247 int status;

--- 10 unchanged lines hidden (view full) ---

258#endif
259 if (IS_ERR(fi_uac1))
260 return PTR_ERR(fi_uac1);
261#endif
262
263#ifndef CONFIG_GADGET_UAC1
264 uac2_opts = container_of(fi_uac2, struct f_uac2_opts, func_inst);
265 uac2_opts->p_chmask = p_chmask;
243#else
244#ifndef CONFIG_GADGET_UAC1_LEGACY
245 struct f_uac1_opts *uac1_opts;
246#else
247 struct f_uac1_legacy_opts *uac1_opts;
248#endif
249#endif
250 int status;

--- 10 unchanged lines hidden (view full) ---

261#endif
262 if (IS_ERR(fi_uac1))
263 return PTR_ERR(fi_uac1);
264#endif
265
266#ifndef CONFIG_GADGET_UAC1
267 uac2_opts = container_of(fi_uac2, struct f_uac2_opts, func_inst);
268 uac2_opts->p_chmask = p_chmask;
266 uac2_opts->p_srate = p_srate;
269
270 for (i = 0; i < p_srates_cnt; ++i)
271 uac2_opts->p_srates[i] = p_srates[i];
272
267 uac2_opts->p_ssize = p_ssize;
268 uac2_opts->c_chmask = c_chmask;
273 uac2_opts->p_ssize = p_ssize;
274 uac2_opts->c_chmask = c_chmask;
269 uac2_opts->c_srate = c_srate;
275
276 for (i = 0; i < c_srates_cnt; ++i)
277 uac2_opts->c_srates[i] = c_srates[i];
278
270 uac2_opts->c_ssize = c_ssize;
271 uac2_opts->req_number = UAC2_DEF_REQ_NUM;
272#else
273#ifndef CONFIG_GADGET_UAC1_LEGACY
274 uac1_opts = container_of(fi_uac1, struct f_uac1_opts, func_inst);
275 uac1_opts->p_chmask = p_chmask;
276 uac1_opts->p_srate = p_srate;
277 uac1_opts->p_ssize = p_ssize;

--- 88 unchanged lines hidden ---
279 uac2_opts->c_ssize = c_ssize;
280 uac2_opts->req_number = UAC2_DEF_REQ_NUM;
281#else
282#ifndef CONFIG_GADGET_UAC1_LEGACY
283 uac1_opts = container_of(fi_uac1, struct f_uac1_opts, func_inst);
284 uac1_opts->p_chmask = p_chmask;
285 uac1_opts->p_srate = p_srate;
286 uac1_opts->p_ssize = p_ssize;

--- 88 unchanged lines hidden ---