Re: [PATCH 04/11] usb: gadget: f_uac1: Support multiple sampling rates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Pavel,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on usb/usb-testing]
[also build test ERROR on linus/master v5.16-rc6 next-20211220]
[cannot apply to balbi-usb/testing/next peter-chen-usb/for-usb-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Pavel-Hofman/usb-gadget-audio-Multiple-rates-dyn-bInterval/20211220-162736
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
config: riscv-randconfig-r003-20211220 (https://download.01.org/0day-ci/archive/20211221/202112210422.0fC1uDBA-lkp@xxxxxxxxx/config)
compiler: riscv32-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/2b868f914e557058c0b5e749db604db56b77e353
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Pavel-Hofman/usb-gadget-audio-Multiple-rates-dyn-bInterval/20211220-162736
        git checkout 2b868f914e557058c0b5e749db604db56b77e353
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=riscv SHELL=/bin/bash drivers/usb/gadget/legacy/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   drivers/usb/gadget/legacy/audio.c: In function 'audio_bind':
>> drivers/usb/gadget/legacy/audio.c:287:25: error: 'p_srates_cnt' undeclared (first use in this function)
     287 |         for (i = 0; i < p_srates_cnt; ++i)
         |                         ^~~~~~~~~~~~
   drivers/usb/gadget/legacy/audio.c:287:25: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/usb/gadget/legacy/audio.c:288:42: error: 'p_srates' undeclared (first use in this function); did you mean 'p_srate'?
     288 |                 uac1_opts->p_srates[i] = p_srates[i];
         |                                          ^~~~~~~~
         |                                          p_srate
>> drivers/usb/gadget/legacy/audio.c:294:25: error: 'c_srates_cnt' undeclared (first use in this function)
     294 |         for (i = 0; i < c_srates_cnt; ++i)
         |                         ^~~~~~~~~~~~
>> drivers/usb/gadget/legacy/audio.c:295:42: error: 'c_srates' undeclared (first use in this function); did you mean 'c_srate'?
     295 |                 uac1_opts->c_srates[i] = c_srates[i];
         |                                          ^~~~~~~~
         |                                          c_srate


vim +/p_srates_cnt +287 drivers/usb/gadget/legacy/audio.c

   264	
   265	#ifndef CONFIG_GADGET_UAC1
   266		uac2_opts = container_of(fi_uac2, struct f_uac2_opts, func_inst);
   267		uac2_opts->p_chmask = p_chmask;
   268	
   269		for (i = 0; i < p_srates_cnt; ++i)
   270			uac2_opts->p_srates[i] = p_srates[i];
   271		uac2_opts->p_srate = p_srates[0];
   272	
   273		uac2_opts->p_ssize = p_ssize;
   274		uac2_opts->c_chmask = c_chmask;
   275	
   276		for (i = 0; i < c_srates_cnt; ++i)
   277			uac2_opts->c_srates[i] = c_srates[i];
   278		uac2_opts->c_srate = c_srates[0];
   279	
   280		uac2_opts->c_ssize = c_ssize;
   281		uac2_opts->req_number = UAC2_DEF_REQ_NUM;
   282	#else
   283	#ifndef CONFIG_GADGET_UAC1_LEGACY
   284		uac1_opts = container_of(fi_uac1, struct f_uac1_opts, func_inst);
   285		uac1_opts->p_chmask = p_chmask;
   286	
 > 287		for (i = 0; i < p_srates_cnt; ++i)
 > 288			uac1_opts->p_srates[i] = p_srates[i];
   289		uac1_opts->p_srate = p_srates[0];
   290	
   291		uac1_opts->p_ssize = p_ssize;
   292		uac1_opts->c_chmask = c_chmask;
   293	
 > 294		for (i = 0; i < c_srates_cnt; ++i)
 > 295			uac1_opts->c_srates[i] = c_srates[i];
   296		uac1_opts->c_srate = c_srates[0];
   297	
   298		uac1_opts->c_ssize = c_ssize;
   299		uac1_opts->req_number = UAC1_DEF_REQ_NUM;
   300	#else /* CONFIG_GADGET_UAC1_LEGACY */
   301		uac1_opts = container_of(fi_uac1, struct f_uac1_legacy_opts, func_inst);
   302		uac1_opts->fn_play = fn_play;
   303		uac1_opts->fn_cap = fn_cap;
   304		uac1_opts->fn_cntl = fn_cntl;
   305		uac1_opts->req_buf_size = req_buf_size;
   306		uac1_opts->req_count = req_count;
   307		uac1_opts->audio_buf_size = audio_buf_size;
   308	#endif /* CONFIG_GADGET_UAC1_LEGACY */
   309	#endif
   310	
   311		status = usb_string_ids_tab(cdev, strings_dev);
   312		if (status < 0)
   313			goto fail;
   314		device_desc.iManufacturer = strings_dev[USB_GADGET_MANUFACTURER_IDX].id;
   315		device_desc.iProduct = strings_dev[USB_GADGET_PRODUCT_IDX].id;
   316	
   317		if (gadget_is_otg(cdev->gadget) && !otg_desc[0]) {
   318			struct usb_descriptor_header *usb_desc;
   319	
   320			usb_desc = usb_otg_descriptor_alloc(cdev->gadget);
   321			if (!usb_desc) {
   322				status = -ENOMEM;
   323				goto fail;
   324			}
   325			usb_otg_descriptor_init(cdev->gadget, usb_desc);
   326			otg_desc[0] = usb_desc;
   327			otg_desc[1] = NULL;
   328		}
   329	
   330		status = usb_add_config(cdev, &audio_config_driver, audio_do_config);
   331		if (status < 0)
   332			goto fail_otg_desc;
   333		usb_composite_overwrite_options(cdev, &coverwrite);
   334	
   335		INFO(cdev, "%s, version: %s\n", DRIVER_DESC, DRIVER_VERSION);
   336		return 0;
   337	
   338	fail_otg_desc:
   339		kfree(otg_desc[0]);
   340		otg_desc[0] = NULL;
   341	fail:
   342	#ifndef CONFIG_GADGET_UAC1
   343		usb_put_function_instance(fi_uac2);
   344	#else
   345		usb_put_function_instance(fi_uac1);
   346	#endif
   347		return status;
   348	}
   349	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux