tree:
https://github.com/morimoto/linux fw-cleanup-2020-06-19-v1
head: 050c38d477a06cdc6262ffe066cebd2d9d4dcd55
commit: dc0414aa072afe58af208d4c64e27d8fb23f8436 [80/146] ASoC: soc-pcm: add
soc_get_playback_capture() and simplify soc_new_pcm()
config: i386-randconfig-r015-20200619 (attached as .config)
compiler: gcc-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010
reproduce (this is a W=1 build):
git checkout dc0414aa072afe58af208d4c64e27d8fb23f8436
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
sound/soc/soc-pcm.c: In function 'soc_get_playback_capture':
> sound/soc/soc-pcm.c:2651:13: warning: assignment makes pointer
from integer without a cast [-Wint-conversion]
playback = 1;
^
sound/soc/soc-pcm.c:2665:12: warning: assignment makes pointer from integer without a cast
[-Wint-conversion]
capture = 1;
^
vim +2651 sound/soc/soc-pcm.c
01d7584cd2e5a9 Liam Girdwood 2012-04-25 2623
dc0414aa072afe Kuninori Morimoto 2020-06-16 2624 static int
soc_get_playback_capture(struct snd_soc_pcm_runtime *rtd,
dc0414aa072afe Kuninori Morimoto 2020-06-16 2625 int *playback, int
*capture)
01d7584cd2e5a9 Liam Girdwood 2012-04-25 2626 {
2e5894d73789ee Benoit Cousson 2014-07-08 2627 struct snd_soc_dai *codec_dai;
19bdcc7aeed416 Shreyas NC 2020-02-25 2628 struct snd_soc_dai *cpu_dai;
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2629 int stream;
2e5894d73789ee Benoit Cousson 2014-07-08 2630 int i;
01d7584cd2e5a9 Liam Girdwood 2012-04-25 2631
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2632 if (rtd->dai_link->dynamic
&& rtd->num_cpus > 1) {
9b5db059366ae2 Stephan Gerhold 2020-04-15 2633 dev_err(rtd->dev,
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2634 "DPCM doesn't support
Multi CPU for Front-Ends yet\n");
9b5db059366ae2 Stephan Gerhold 2020-04-15 2635 return -EINVAL;
9b5db059366ae2 Stephan Gerhold 2020-04-15 2636 }
9b5db059366ae2 Stephan Gerhold 2020-04-15 2637
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2638 if (rtd->dai_link->dynamic ||
rtd->dai_link->no_pcm) {
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2639 if
(rtd->dai_link->dpcm_playback) {
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2640 stream =
SNDRV_PCM_STREAM_PLAYBACK;
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2641
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2642 for_each_rtd_cpu_dais(rtd, i,
cpu_dai)
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2643 if
(!snd_soc_dai_stream_valid(cpu_dai,
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2644 stream)) {
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2645 dev_err(rtd->card->dev,
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2646 "CPU DAI %s for rtd %s
does not support playback\n",
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2647 cpu_dai->name,
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2648
rtd->dai_link->stream_name);
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2649 return -EINVAL;
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2650 }
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 @2651 playback = 1;
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2652 }
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2653 if
(rtd->dai_link->dpcm_capture) {
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2654 stream =
SNDRV_PCM_STREAM_CAPTURE;
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2655
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2656 for_each_rtd_cpu_dais(rtd, i,
cpu_dai)
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2657 if
(!snd_soc_dai_stream_valid(cpu_dai,
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2658 stream)) {
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2659 dev_err(rtd->card->dev,
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2660 "CPU DAI %s for rtd %s
does not support capture\n",
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2661 cpu_dai->name,
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2662
rtd->dai_link->stream_name);
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2663 return -EINVAL;
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2664 }
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2665 capture = 1;
b73287f0b07459 Pierre-Louis Bossart 2020-06-08 2666 }
01d7584cd2e5a9 Liam Girdwood 2012-04-25 2667 } else {
a342031cdd0818 Jerome Brunet 2019-07-25 2668 /* Adapt stream for codec2codec
links */
a4877a6fb2bd2e Stephan Gerhold 2020-02-18 2669 int cpu_capture =
rtd->dai_link->params ?
a4877a6fb2bd2e Stephan Gerhold 2020-02-18 2670 SNDRV_PCM_STREAM_PLAYBACK :
SNDRV_PCM_STREAM_CAPTURE;
a4877a6fb2bd2e Stephan Gerhold 2020-02-18 2671 int cpu_playback =
rtd->dai_link->params ?
a4877a6fb2bd2e Stephan Gerhold 2020-02-18 2672 SNDRV_PCM_STREAM_CAPTURE :
SNDRV_PCM_STREAM_PLAYBACK;
a342031cdd0818 Jerome Brunet 2019-07-25 2673
a4be4187b2bfc6 Kuninori Morimoto 2020-03-09 2674 for_each_rtd_codec_dais(rtd, i,
codec_dai) {
19bdcc7aeed416 Shreyas NC 2020-02-25 2675 if (rtd->num_cpus == 1) {
c2233a266178f8 Kuninori Morimoto 2020-03-30 2676 cpu_dai = asoc_rtd_to_cpu(rtd,
0);
19bdcc7aeed416 Shreyas NC 2020-02-25 2677 } else if (rtd->num_cpus ==
rtd->num_codecs) {
c2233a266178f8 Kuninori Morimoto 2020-03-30 2678 cpu_dai = asoc_rtd_to_cpu(rtd,
i);
19bdcc7aeed416 Shreyas NC 2020-02-25 2679 } else {
19bdcc7aeed416 Shreyas NC 2020-02-25 2680 dev_err(rtd->card->dev,
19bdcc7aeed416 Shreyas NC 2020-02-25 2681 "N cpus to M codecs link
is not supported yet\n");
19bdcc7aeed416 Shreyas NC 2020-02-25 2682 return -EINVAL;
19bdcc7aeed416 Shreyas NC 2020-02-25 2683 }
19bdcc7aeed416 Shreyas NC 2020-02-25 2684
467fece8fbc677 Kuninori Morimoto 2019-07-22 2685 if
(snd_soc_dai_stream_valid(codec_dai, SNDRV_PCM_STREAM_PLAYBACK) &&
a4877a6fb2bd2e Stephan Gerhold 2020-02-18 2686
snd_soc_dai_stream_valid(cpu_dai, cpu_playback))
dc0414aa072afe Kuninori Morimoto 2020-06-16 2687 *playback = 1;
467fece8fbc677 Kuninori Morimoto 2019-07-22 2688 if
(snd_soc_dai_stream_valid(codec_dai, SNDRV_PCM_STREAM_CAPTURE) &&
a4877a6fb2bd2e Stephan Gerhold 2020-02-18 2689
snd_soc_dai_stream_valid(cpu_dai, cpu_capture))
dc0414aa072afe Kuninori Morimoto 2020-06-16 2690 *capture = 1;
01d7584cd2e5a9 Liam Girdwood 2012-04-25 2691 }
2e5894d73789ee Benoit Cousson 2014-07-08 2692 }
2e5894d73789ee Benoit Cousson 2014-07-08 2693
d6bead020d8f8b Fabio Estevam 2013-08-29 2694 if
(rtd->dai_link->playback_only) {
dc0414aa072afe Kuninori Morimoto 2020-06-16 2695 *playback = 1;
dc0414aa072afe Kuninori Morimoto 2020-06-16 2696 *capture = 0;
d6bead020d8f8b Fabio Estevam 2013-08-29 2697 }
d6bead020d8f8b Fabio Estevam 2013-08-29 2698
d6bead020d8f8b Fabio Estevam 2013-08-29 2699 if
(rtd->dai_link->capture_only) {
dc0414aa072afe Kuninori Morimoto 2020-06-16 2700 *playback = 0;
dc0414aa072afe Kuninori Morimoto 2020-06-16 2701 *capture = 1;
dc0414aa072afe Kuninori Morimoto 2020-06-16 2702 }
dc0414aa072afe Kuninori Morimoto 2020-06-16 2703
dc0414aa072afe Kuninori Morimoto 2020-06-16 2704 return 0;
d6bead020d8f8b Fabio Estevam 2013-08-29 2705 }
d6bead020d8f8b Fabio Estevam 2013-08-29 2706
:::::: The code at line 2651 was first introduced by commit
:::::: b73287f0b0745961b14e5ebcce92cc8ed24d4d52 ASoC: soc-pcm: dpcm: fix playback/capture
checks
:::::: TO: Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com>
:::::: CC: Mark Brown <broonie(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org