All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/staging/greybus/audio_codec.c:466 gbcodec_hw_params() error: uninitialized symbol 'data'.
@ 2020-09-23  6:49 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-09-23  6:49 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Vaibhav Agarwal <vaibhav.sr@gmail.com>
CC: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
CC: Dan Carpenter <error27@gmail.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   805c6d3c19210c90c109107d189744e960eae025
commit: c9a57eddb235d53b0a8b9d740e454ef466086fc8 staging: greybus: audio: Enable GB codec, audio module compilation.
date:   8 weeks ago
:::::: branch date: 9 hours ago
:::::: commit date: 8 weeks ago
config: openrisc-randconfig-m031-20200923 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/staging/greybus/audio_codec.c:466 gbcodec_hw_params() error: uninitialized symbol 'data'.
drivers/staging/greybus/audio_codec.c:538 gbcodec_prepare() error: uninitialized symbol 'data'.
drivers/staging/greybus/audio_codec.c:621 gbcodec_mute_stream() error: uninitialized symbol 'data'.
drivers/staging/greybus/audio_topology.c:1078 gbaudio_tplg_create_widget() error: uninitialized symbol 'widget_kctls'.

Old smatch warnings:
drivers/staging/greybus/audio_topology.c:1100 gbaudio_tplg_create_widget() error: uninitialized symbol 'widget_kctls'.

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c9a57eddb235d53b0a8b9d740e454ef466086fc8
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout c9a57eddb235d53b0a8b9d740e454ef466086fc8
vim +/data +466 drivers/staging/greybus/audio_codec.c

d3d2af51f9c2f2 drivers/staging/greybus/audio-codec.c Vaibhav Agarwal 2015-11-23  409  
d3d2af51f9c2f2 drivers/staging/greybus/audio-codec.c Vaibhav Agarwal 2015-11-23  410  static int gbcodec_hw_params(struct snd_pcm_substream *substream,
d3d2af51f9c2f2 drivers/staging/greybus/audio-codec.c Vaibhav Agarwal 2015-11-23  411  			     struct snd_pcm_hw_params *hwparams,
d3d2af51f9c2f2 drivers/staging/greybus/audio-codec.c Vaibhav Agarwal 2015-11-23  412  			     struct snd_soc_dai *dai)
d3d2af51f9c2f2 drivers/staging/greybus/audio-codec.c Vaibhav Agarwal 2015-11-23  413  {
796fad441cb248 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-28  414  	int ret;
31959392c7db09 drivers/staging/greybus/audio_codec.c Chaehyun Lim    2016-09-20  415  	u8 sig_bits, channels;
6236015fd2f1b2 drivers/staging/greybus/audio_codec.c Kamal Heib      2018-01-17  416  	u32 format, rate;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  417  	struct gbaudio_module_info *module;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  418  	struct gbaudio_data_connection *data;
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  419  	struct gb_bundle *bundle;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  420  	struct gbaudio_codec_info *codec = dev_get_drvdata(dai->dev);
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  421  	struct gbaudio_stream_params *params;
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  422  
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  423  	mutex_lock(&codec->lock);
3994e0b139c709 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-28  424  
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  425  	if (list_empty(&codec->module_list)) {
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  426  		dev_err(codec->dev, "No codec module available\n");
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  427  		mutex_unlock(&codec->lock);
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  428  		return -ENODEV;
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  429  	}
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  430  
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  431  	/*
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  432  	 * assuming, currently only 48000 Hz, 16BIT_LE, stereo
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  433  	 * is supported, validate params before configuring codec
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  434  	 */
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  435  	if (params_channels(hwparams) != 2) {
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  436  		dev_err(dai->dev, "Invalid channel count:%d\n",
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  437  			params_channels(hwparams));
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  438  		mutex_unlock(&codec->lock);
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  439  		return -EINVAL;
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  440  	}
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  441  	channels = params_channels(hwparams);
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  442  
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  443  	if (params_rate(hwparams) != 48000) {
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  444  		dev_err(dai->dev, "Invalid sampling rate:%d\n",
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  445  			params_rate(hwparams));
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  446  		mutex_unlock(&codec->lock);
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  447  		return -EINVAL;
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  448  	}
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  449  	rate = GB_AUDIO_PCM_RATE_48000;
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  450  
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  451  	if (params_format(hwparams) != SNDRV_PCM_FORMAT_S16_LE) {
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  452  		dev_err(dai->dev, "Invalid format:%d\n",
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  453  			params_format(hwparams));
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  454  		mutex_unlock(&codec->lock);
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  455  		return -EINVAL;
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  456  	}
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  457  	format = GB_AUDIO_PCM_FMT_S16_LE;
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  458  
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  459  	/* find the data connection */
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  460  	list_for_each_entry(module, &codec->module_list, list) {
60e7327d54b270 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  461  		data = find_data(module, dai->id);
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  462  		if (data)
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  463  			break;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  464  	}
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  465  
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04 @466  	if (!data) {
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  467  		dev_err(dai->dev, "DATA connection missing\n");
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  468  		mutex_unlock(&codec->lock);
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  469  		return -EINVAL;
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  470  	}
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  471  
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  472  	params = find_dai_stream_params(codec, dai->id, substream->stream);
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  473  	if (!params) {
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  474  		dev_err(codec->dev, "Failed to fetch dai_stream pointer\n");
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  475  		mutex_unlock(&codec->lock);
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  476  		return -EINVAL;
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  477  	}
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  478  
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  479  	bundle = to_gb_bundle(module->dev);
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  480  	ret = gb_pm_runtime_get_sync(bundle);
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  481  	if (ret) {
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  482  		mutex_unlock(&codec->lock);
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  483  		return ret;
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  484  	}
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  485  
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  486  	ret = gb_audio_apbridgea_set_config(data->connection, 0,
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  487  					    AUDIO_APBRIDGEA_PCM_FMT_16,
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  488  					    AUDIO_APBRIDGEA_PCM_RATE_48000,
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  489  					    6144000);
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  490  	if (ret) {
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  491  		dev_err_ratelimited(dai->dev, "%d: Error during set_config\n",
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  492  				    ret);
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  493  		mutex_unlock(&codec->lock);
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  494  		return ret;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  495  	}
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  496  
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  497  	gb_pm_runtime_put_noidle(bundle);
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  498  
1023ab9c3800e5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2017-01-18  499  	if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
1023ab9c3800e5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2017-01-18  500  		sig_bits = dai->driver->playback.sig_bits;
1023ab9c3800e5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2017-01-18  501  	else
1023ab9c3800e5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2017-01-18  502  		sig_bits = dai->driver->capture.sig_bits;
1023ab9c3800e5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2017-01-18  503  
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  504  	params->state = GBAUDIO_CODEC_HWPARAMS;
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  505  	params->format = format;
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  506  	params->rate = rate;
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  507  	params->channels = channels;
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  508  	params->sig_bits = sig_bits;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  509  
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  510  	mutex_unlock(&codec->lock);
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  511  	return 0;
54e9070b24def1 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-04-23  512  }
54e9070b24def1 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-04-23  513  
d3d2af51f9c2f2 drivers/staging/greybus/audio-codec.c Vaibhav Agarwal 2015-11-23  514  static int gbcodec_prepare(struct snd_pcm_substream *substream,
d3d2af51f9c2f2 drivers/staging/greybus/audio-codec.c Vaibhav Agarwal 2015-11-23  515  			   struct snd_soc_dai *dai)
d3d2af51f9c2f2 drivers/staging/greybus/audio-codec.c Vaibhav Agarwal 2015-11-23  516  {
796fad441cb248 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-28  517  	int ret;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  518  	struct gbaudio_module_info *module;
54e9070b24def1 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-04-23  519  	struct gbaudio_data_connection *data;
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  520  	struct gb_bundle *bundle;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  521  	struct gbaudio_codec_info *codec = dev_get_drvdata(dai->dev);
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  522  	struct gbaudio_stream_params *params;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  523  
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  524  	mutex_lock(&codec->lock);
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  525  
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  526  	if (list_empty(&codec->module_list)) {
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  527  		dev_err(codec->dev, "No codec module available\n");
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  528  		mutex_unlock(&codec->lock);
3994e0b139c709 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-28  529  		return -ENODEV;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  530  	}
3994e0b139c709 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-28  531  
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  532  	list_for_each_entry(module, &codec->module_list, list) {
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  533  		/* find the dai */
60e7327d54b270 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  534  		data = find_data(module, dai->id);
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  535  		if (data)
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  536  			break;
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  537  	}
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29 @538  	if (!data) {
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  539  		dev_err(dai->dev, "DATA connection missing\n");
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  540  		mutex_unlock(&codec->lock);
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  541  		return -ENODEV;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  542  	}
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  543  
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  544  	params = find_dai_stream_params(codec, dai->id, substream->stream);
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  545  	if (!params) {
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  546  		dev_err(codec->dev, "Failed to fetch dai_stream pointer\n");
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  547  		mutex_unlock(&codec->lock);
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  548  		return -EINVAL;
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  549  	}
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  550  
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  551  	bundle = to_gb_bundle(module->dev);
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  552  	ret = gb_pm_runtime_get_sync(bundle);
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  553  	if (ret) {
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  554  		mutex_unlock(&codec->lock);
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  555  		return ret;
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  556  	}
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  557  
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  558  	switch (substream->stream) {
54e9070b24def1 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-04-23  559  	case SNDRV_PCM_STREAM_PLAYBACK:
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  560  		ret = gb_audio_apbridgea_set_tx_data_size(data->connection, 0,
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  561  							  192);
54e9070b24def1 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-04-23  562  		break;
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  563  	case SNDRV_PCM_STREAM_CAPTURE:
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  564  		ret = gb_audio_apbridgea_set_rx_data_size(data->connection, 0,
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  565  							  192);
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  566  		break;
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  567  	}
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  568  	if (ret) {
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  569  		mutex_unlock(&codec->lock);
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  570  		dev_err_ratelimited(dai->dev, "set_data_size failed:%d\n",
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  571  				    ret);
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  572  		return ret;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  573  	}
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  574  
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  575  	gb_pm_runtime_put_noidle(bundle);
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  576  
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  577  	params->state = GBAUDIO_CODEC_PREPARE;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  578  	mutex_unlock(&codec->lock);
ce9413062f8e23 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  579  	return 0;
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  580  }
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  581  
27c243cf5fcf4b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-06-09  582  static int gbcodec_mute_stream(struct snd_soc_dai *dai, int mute, int stream)
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  583  {
796fad441cb248 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-28  584  	int ret;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  585  	struct gbaudio_data_connection *data;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  586  	struct gbaudio_module_info *module;
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  587  	struct gb_bundle *bundle;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  588  	struct gbaudio_codec_info *codec = dev_get_drvdata(dai->dev);
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  589  	struct gbaudio_stream_params *params;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  590  
27c243cf5fcf4b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-06-09  591  	dev_dbg(dai->dev, "Mute:%d, Direction:%s\n", mute,
27c243cf5fcf4b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-06-09  592  		stream ? "CAPTURE" : "PLAYBACK");
27c243cf5fcf4b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-06-09  593  
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  594  	mutex_lock(&codec->lock);
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  595  
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  596  	params = find_dai_stream_params(codec, dai->id, stream);
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  597  	if (!params) {
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  598  		dev_err(codec->dev, "Failed to fetch dai_stream pointer\n");
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  599  		mutex_unlock(&codec->lock);
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  600  		return -EINVAL;
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  601  	}
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  602  
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  603  	if (list_empty(&codec->module_list)) {
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  604  		dev_err(codec->dev, "No codec module available\n");
12ce523147e485 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-07-12  605  		if (mute) {
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  606  			params->state = GBAUDIO_CODEC_STOP;
12ce523147e485 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-07-12  607  			ret = 0;
12ce523147e485 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-07-12  608  		} else {
12ce523147e485 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-07-12  609  			ret = -ENODEV;
12ce523147e485 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-07-12  610  		}
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  611  		mutex_unlock(&codec->lock);
12ce523147e485 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-07-12  612  		return ret;
29386f058a758f drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-02-16  613  	}
3994e0b139c709 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-28  614  
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  615  	list_for_each_entry(module, &codec->module_list, list) {
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  616  		/* find the dai */
60e7327d54b270 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  617  		data = find_data(module, dai->id);
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  618  		if (data)
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  619  			break;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  620  	}
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29 @621  	if (!data) {
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  622  		dev_err(dai->dev, "%s:%s DATA connection missing\n",
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  623  			dai->name, module->name);
90579d4b577154 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  624  		mutex_unlock(&codec->lock);
90579d4b577154 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  625  		return -ENODEV;
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  626  	}
27c243cf5fcf4b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-06-09  627  
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  628  	bundle = to_gb_bundle(module->dev);
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  629  	ret = gb_pm_runtime_get_sync(bundle);
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  630  	if (ret) {
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  631  		mutex_unlock(&codec->lock);
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  632  		return ret;
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  633  	}
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  634  
27c243cf5fcf4b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-06-09  635  	if (!mute && !stream) {/* start playback */
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  636  		ret = gb_audio_apbridgea_prepare_tx(data->connection,
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  637  						    0);
5bbe14b7acc2a0 drivers/staging/greybus/audio_codec.c Mark Greer      2016-02-29  638  		if (!ret)
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  639  			ret = gb_audio_apbridgea_start_tx(data->connection,
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  640  							  0, 0);
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  641  		params->state = GBAUDIO_CODEC_START;
27c243cf5fcf4b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-06-09  642  	} else if (!mute && stream) {/* start capture */
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  643  		ret = gb_audio_apbridgea_prepare_rx(data->connection,
5bbe14b7acc2a0 drivers/staging/greybus/audio_codec.c Mark Greer      2016-02-29  644  						    0);
5bbe14b7acc2a0 drivers/staging/greybus/audio_codec.c Mark Greer      2016-02-29  645  		if (!ret)
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  646  			ret = gb_audio_apbridgea_start_rx(data->connection,
5bbe14b7acc2a0 drivers/staging/greybus/audio_codec.c Mark Greer      2016-02-29  647  							  0);
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  648  		params->state = GBAUDIO_CODEC_START;
27c243cf5fcf4b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-06-09  649  	} else if (mute && !stream) {/* stop playback */
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  650  		ret = gb_audio_apbridgea_stop_tx(data->connection, 0);
5bbe14b7acc2a0 drivers/staging/greybus/audio_codec.c Mark Greer      2016-02-29  651  		if (!ret)
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  652  			ret = gb_audio_apbridgea_shutdown_tx(data->connection,
5bbe14b7acc2a0 drivers/staging/greybus/audio_codec.c Mark Greer      2016-02-29  653  							     0);
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  654  		params->state = GBAUDIO_CODEC_STOP;
27c243cf5fcf4b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-06-09  655  	} else if (mute && stream) {/* stop capture */
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  656  		ret = gb_audio_apbridgea_stop_rx(data->connection, 0);
5bbe14b7acc2a0 drivers/staging/greybus/audio_codec.c Mark Greer      2016-02-29  657  		if (!ret)
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  658  			ret = gb_audio_apbridgea_shutdown_rx(data->connection,
5bbe14b7acc2a0 drivers/staging/greybus/audio_codec.c Mark Greer      2016-02-29  659  							     0);
19866603be2ad5 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  660  		params->state = GBAUDIO_CODEC_STOP;
9ae7a47f7f3226 drivers/staging/greybus/audio_codec.c Chase Metzger   2016-10-09  661  	} else {
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  662  		ret = -EINVAL;
9ae7a47f7f3226 drivers/staging/greybus/audio_codec.c Chase Metzger   2016-10-09  663  	}
9ae7a47f7f3226 drivers/staging/greybus/audio_codec.c Chase Metzger   2016-10-09  664  
b7f0088df7369b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-01-13  665  	if (ret)
27c243cf5fcf4b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-06-09  666  		dev_err_ratelimited(dai->dev,
27c243cf5fcf4b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-06-09  667  				    "%s:Error during %s %s stream:%d\n",
27c243cf5fcf4b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-06-09  668  				    module->name, mute ? "Mute" : "Unmute",
27c243cf5fcf4b drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-06-09  669  				    stream ? "Capture" : "Playback", ret);
b07868bda2fb61 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-02-16  670  
c388ae76969926 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  671  	gb_pm_runtime_put_noidle(bundle);
6dd67645f22cfe drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-03-29  672  	mutex_unlock(&codec->lock);
90579d4b577154 drivers/staging/greybus/audio_codec.c Vaibhav Agarwal 2016-08-04  673  	return ret;
d3d2af51f9c2f2 drivers/staging/greybus/audio-codec.c Vaibhav Agarwal 2015-11-23  674  }
d3d2af51f9c2f2 drivers/staging/greybus/audio-codec.c Vaibhav Agarwal 2015-11-23  675  

:::::: The code at line 466 was first introduced by commit
:::::: ce9413062f8e2366916beebbfa8e73c6ff1a2c8c greybus: audio: Enable audio path based on control switch state only

:::::: TO: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
:::::: CC: Greg Kroah-Hartman <gregkh@google.com>

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 28065 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-09-23  6:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-23  6:49 drivers/staging/greybus/audio_codec.c:466 gbcodec_hw_params() error: uninitialized symbol 'data' kernel test robot

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.