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 --- |