All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Pavel Hofman <pavel.hofman@ivitera.com>, linux-usb@vger.kernel.org
Cc: kbuild-all@lists.01.org, Pavel Hofman <pavel.hofman@ivitera.com>,
	Ruslan Bilovol <ruslan.bilovol@gmail.com>,
	Felipe Balbi <balbi@kernel.org>,
	Jerome Brunet <jbrunet@baylibre.com>,
	Julian Scheel <julian@jusst.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: [PATCH 04/11] usb: gadget: f_uac1: Support multiple sampling rates
Date: Tue, 21 Dec 2021 04:26:11 +0800	[thread overview]
Message-ID: <202112210422.0fC1uDBA-lkp@intel.com> (raw)
In-Reply-To: <20211220082542.13750-5-pavel.hofman@ivitera.com>

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@intel.com/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@intel.com>

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@lists.01.org

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH 04/11] usb: gadget: f_uac1: Support multiple sampling rates
Date: Tue, 21 Dec 2021 04:26:11 +0800	[thread overview]
Message-ID: <202112210422.0fC1uDBA-lkp@intel.com> (raw)
In-Reply-To: <20211220082542.13750-5-pavel.hofman@ivitera.com>

[-- Attachment #1: Type: text/plain, Size: 6170 bytes --]

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(a)intel.com/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@intel.com>

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@lists.01.org

  reply	other threads:[~2021-12-20 20:26 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-20  8:25 [PATCH 00/11] usb: gadget: audio: Multiple rates, dyn. bInterval Pavel Hofman
2021-12-20  8:25 ` [PATCH 01/11] usb: gadget: u_audio: Subdevice 0 for capture ctls Pavel Hofman
2021-12-20  8:25 ` [PATCH 02/11] usb: gadget: u_audio: Support multiple sampling rates Pavel Hofman
2021-12-20  8:25 ` [PATCH 03/11] usb: gadget: f_uac2: " Pavel Hofman
2021-12-20  8:25 ` [PATCH 04/11] usb: gadget: f_uac1: " Pavel Hofman
2021-12-20 20:26   ` kernel test robot [this message]
2021-12-20 20:26     ` kernel test robot
2021-12-20  8:25 ` [PATCH 05/11] usb: gadget: f_uac2: Renaming Clock Sources to fixed names Pavel Hofman
2021-12-20  8:25 ` [PATCH 06/11] usb: gadget: u_audio: Rate ctl notifies about current srate (0=stopped) Pavel Hofman
2021-12-20  8:25 ` [PATCH 07/11] usb: gadget: u_audio: Stopping PCM substream at capture/playback stop Pavel Hofman
2021-12-20  8:25 ` [PATCH 08/11] usb: gadget: u_audio: Adding suspend call Pavel Hofman
2021-12-20  8:25 ` [PATCH 09/11] usb: gadget: f_uac2: Adding suspend callback Pavel Hofman
2021-12-20  8:25 ` [PATCH 10/11] usb: gadget: f_uac1: " Pavel Hofman
2021-12-20  8:25 ` [PATCH 11/11] usb: gadget: f_uac2: Determining bInterval for HS and SS Pavel Hofman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202112210422.0fC1uDBA-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=balbi@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jbrunet@baylibre.com \
    --cc=julian@jusst.de \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=pavel.hofman@ivitera.com \
    --cc=ruslan.bilovol@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.