CC: l...@lists.linux.dev
CC: kbuild-...@lists.01.org
BCC: l...@intel.com
CC: linux-ker...@vger.kernel.org
TO: Srinivas Kandagatla <srinivas.kandaga...@linaro.org>
CC: Mark Brown <broo...@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   a2c29ccd9477861b16ddc02c411a6c9665250558
commit: 810532e7392e764be5ee1b85603585065fa3e86b ASoC: qcom: sm8250: Add Jack 
support
date:   6 months ago
:::::: branch date: 17 hours ago
:::::: commit date: 6 months ago
config: arm-randconfig-c002-20220417 
(https://download.01.org/0day-ci/archive/20220418/202204180031.ztwekofa-...@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
64c045e25b8471bbb572bd29159c294a82a86a25)
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
        # install arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=810532e7392e764be5ee1b85603585065fa3e86b
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 810532e7392e764be5ee1b85603585065fa3e86b
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm 
clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
   include/linux/platform_device.h:243:2: note: Returning from 'dev_set_drvdata'
           dev_set_drvdata(&pdev->dev, data);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/platform_device.h:244:1: note: Returning without writing to 
'data->lock_release'
   }
   ^
   sound/soc/img/img-spdif-in.c:731:2: note: Returning from 
'platform_set_drvdata'
           platform_set_drvdata(pdev, spdif);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:736:2: note: Taking false branch
           if (IS_ERR(base))
           ^
   sound/soc/img/img-spdif-in.c:742:2: note: Taking false branch
           if (IS_ERR(spdif->clk_sys)) {
           ^
   sound/soc/img/img-spdif-in.c:749:2: note: Taking false branch
           if (!pm_runtime_enabled(&pdev->dev)) {
           ^
   sound/soc/img/img-spdif-in.c:755:6: note: Assuming 'ret' is >= 0
           if (ret < 0) {
               ^~~~~~~
   sound/soc/img/img-spdif-in.c:755:2: note: Taking false branch
           if (ret < 0) {
           ^
   sound/soc/img/img-spdif-in.c:761:2: note: Taking false branch
           if (IS_ERR(rst)) {
           ^
   sound/soc/img/img-spdif-in.c:775:2: note: Loop condition is false.  Exiting 
loop
           spin_lock_init(&spdif->lock);
           ^
   include/linux/spinlock.h:353:34: note: expanded from macro 'spin_lock_init'
   # define spin_lock_init(_lock)                  \
                                                   ^
   sound/soc/img/img-spdif-in.c:782:2: note: The value -128 is assigned to 
field 'lock_release'
           spdif->lock_release = -128;
           ^~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:786:30: note: The result of the left shift is 
undefined because the left operand is negative
           reg |= (spdif->lock_release << IMG_SPDIF_IN_CTL_LOCKLO_SHIFT) &
                   ~~~~~~~~~~~~~~~~~~~ ^
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   2 warnings generated.
   sound/soc/ti/davinci-i2s.c:407:11: warning: The result of the left shift is 
undefined because the left operand is negative 
[clang-analyzer-core.UndefinedBinaryOperatorResult]
                   srgr |= DAVINCI_MCBSP_SRGR_FWID(mcbsp_word_length *
                           ^
   sound/soc/ti/davinci-i2s.c:87:41: note: expanded from macro 
'DAVINCI_MCBSP_SRGR_FWID'
   #define DAVINCI_MCBSP_SRGR_FWID(v)      ((v) << 8)
                                            ~~~ ^
   sound/soc/ti/davinci-i2s.c:390:6: note: Assuming field 'stream' is not equal 
to SNDRV_PCM_STREAM_CAPTURE
           if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/ti/davinci-i2s.c:390:2: note: Taking false branch
           if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
           ^
   sound/soc/ti/davinci-i2s.c:402:2: note: Control jumps to 'case 16384:'  at 
line 403
           switch (master) {
           ^
   sound/soc/ti/davinci-i2s.c:407:11: note: The result of the left shift is 
undefined because the left operand is negative
                   srgr |= DAVINCI_MCBSP_SRGR_FWID(mcbsp_word_length *
                           ^
   sound/soc/ti/davinci-i2s.c:87:41: note: expanded from macro 
'DAVINCI_MCBSP_SRGR_FWID'
   #define DAVINCI_MCBSP_SRGR_FWID(v)      ((v) << 8)
                                            ~~~ ^
   sound/soc/ti/davinci-i2s.c:432:11: warning: The result of the left shift is 
undefined because the left operand is negative 
[clang-analyzer-core.UndefinedBinaryOperatorResult]
                   srgr |= DAVINCI_MCBSP_SRGR_FWID(mcbsp_word_length * 8 - 1);
                           ^
   sound/soc/ti/davinci-i2s.c:87:41: note: expanded from macro 
'DAVINCI_MCBSP_SRGR_FWID'
   #define DAVINCI_MCBSP_SRGR_FWID(v)      ((v) << 8)
                                            ~~~ ^
   sound/soc/ti/davinci-i2s.c:390:6: note: Assuming field 'stream' is not equal 
to SNDRV_PCM_STREAM_CAPTURE
           if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/ti/davinci-i2s.c:390:2: note: Taking false branch
           if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
           ^
   sound/soc/ti/davinci-i2s.c:402:2: note: Control jumps to 'case 12288:'  at 
line 429
           switch (master) {
           ^
   sound/soc/ti/davinci-i2s.c:432:11: note: The result of the left shift is 
undefined because the left operand is negative
                   srgr |= DAVINCI_MCBSP_SRGR_FWID(mcbsp_word_length * 8 - 1);
                           ^
   sound/soc/ti/davinci-i2s.c:87:41: note: expanded from macro 
'DAVINCI_MCBSP_SRGR_FWID'
   #define DAVINCI_MCBSP_SRGR_FWID(v)      ((v) << 8)
                                            ~~~ ^
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   2 warnings generated.
   sound/soc/qcom/sdm845.c:76:4: warning: Value stored to 'ret' is never read 
[clang-analyzer-deadcode.DeadStores]
                           ret = snd_soc_dai_set_channel_map(cpu_dai, 0, NULL,
                           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/qcom/sdm845.c:76:4: note: Value stored to 'ret' is never read
                           ret = snd_soc_dai_set_channel_map(cpu_dai, 0, NULL,
                           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/qcom/sdm845.c:79:4: warning: Value stored to 'ret' is never read 
[clang-analyzer-deadcode.DeadStores]
                           ret = snd_soc_dai_set_channel_map(cpu_dai, tx_ch_cnt,
                           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/qcom/sdm845.c:79:4: note: Value stored to 'ret' is never read
                           ret = snd_soc_dai_set_channel_map(cpu_dai, tx_ch_cnt,
                           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 warning generated.
>> sound/soc/qcom/sm8250.c:31:22: warning: Value stored to 'codec_dai' during 
>> its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0);
                               ^~~~~~~~~
   sound/soc/qcom/sm8250.c:31:22: note: Value stored to 'codec_dai' during its 
initialization is never read
           struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0);
                               ^~~~~~~~~
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   drivers/mtd/nand/raw/nand_bbt.c:579:3: warning: Value stored to 'bbtblocks' 
is never read [clang-analyzer-deadcode.DeadStores]
                   bbtblocks = mtd->size >> this->bbt_erase_shift;
                   ^           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/raw/nand_bbt.c:579:3: note: Value stored to 'bbtblocks' is 
never read
                   bbtblocks = mtd->size >> this->bbt_erase_shift;
                   ^           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   2 warnings generated.
   Suppressed 2 warnings (1 in non-user code, 1 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   4 warnings generated.
   drivers/crypto/caam/ctrl.c:388:2: warning: Value stored to 'val' is never 
read [clang-analyzer-deadcode.DeadStores]
           val = rd_reg32(&r4tst->rtmctl);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/crypto/caam/ctrl.c:388:2: note: Value stored to 'val' is never read
           val = rd_reg32(&r4tst->rtmctl);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 3 warnings (2 in non-user code, 1 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (2 in non-user code, 1 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (2 in non-user code, 1 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   1 warning generated.
   sound/soc/codecs/tas2770.c:50:23: warning: Value stored to 'tas2770' during 
its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct tas2770_priv *tas2770 =
                                ^~~~~~~
   sound/soc/codecs/tas2770.c:50:23: note: Value stored to 'tas2770' during its 
initialization is never read
           struct tas2770_priv *tas2770 =
                                ^~~~~~~
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   net/core/bpf_sk_storage.c:754:4: warning: Value stored to 'b' is never read 
[clang-analyzer-deadcode.DeadStores]
                           b = &smap->buckets[bucket_id++];
                           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
   net/core/bpf_sk_storage.c:754:4: note: Value stored to 'b' is never read
                           b = &smap->buckets[bucket_id++];
                           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   drivers/iio/gyro/adxrs450.c:73:8: warning: Excessive padding in 'struct 
adxrs450_state' (36 padding bytes, where 4 is optimal). 
   Optimal fields order: 
   tx, 
   us, 
   rx, 
   buf_lock, 
   consider reordering the fields or adding explicit padding members 
[clang-analyzer-optin.performance.Padding]
   struct adxrs450_state {
   ~~~~~~~^~~~~~~~~~~~~~~~
   drivers/iio/gyro/adxrs450.c:73:8: note: Excessive padding in 'struct 
adxrs450_state' (36 padding bytes, where 4 is optimal). Optimal fields order: 
tx, us, rx, buf_lock, consider reordering the fields or adding explicit padding 
members
   struct adxrs450_state {
   ~~~~~~~^~~~~~~~~~~~~~~~
   1 warning generated.
   drivers/iio/gyro/itg3200_core.c:94:3: warning: Value stored to 'ret' is 
never read [clang-analyzer-deadcode.DeadStores]
                   ret = itg3200_read_reg_s16(indio_dev, reg, val);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/gyro/itg3200_core.c:94:3: note: Value stored to 'ret' is never 
read
                   ret = itg3200_read_reg_s16(indio_dev, reg, val);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 warning generated.
   drivers/iio/frequency/ad9523.c:266:8: warning: Excessive padding in 'struct 
ad9523_state' (34 padding bytes, where 2 is optimal). 
   Optimal fields order: 
   data, 
   spi, 
   reg, 
   pdata, 
   pwrdown_gpio, 
   reset_gpio, 
   sync_gpio, 
   vcxo_freq, 
   vco_freq, 
   vco_out_freq, 
   lock, 
   ad9523_channels, 
   vco_out_map, 
   consider reordering the fields or adding explicit padding members 
[clang-analyzer-optin.performance.Padding]
   struct ad9523_state {

vim +/codec_dai +31 sound/soc/qcom/sm8250.c

aa2e2785545aab2 Srinivas Kandagatla 2020-10-26  26  
810532e7392e764 Srinivas Kandagatla 2021-10-06  27  static int 
sm8250_snd_init(struct snd_soc_pcm_runtime *rtd)
810532e7392e764 Srinivas Kandagatla 2021-10-06  28  {
810532e7392e764 Srinivas Kandagatla 2021-10-06  29      struct sm8250_snd_data 
*data = snd_soc_card_get_drvdata(rtd->card);
810532e7392e764 Srinivas Kandagatla 2021-10-06  30      struct snd_soc_dai 
*cpu_dai = asoc_rtd_to_cpu(rtd, 0);
810532e7392e764 Srinivas Kandagatla 2021-10-06 @31      struct snd_soc_dai 
*codec_dai = asoc_rtd_to_codec(rtd, 0);
810532e7392e764 Srinivas Kandagatla 2021-10-06  32      struct snd_soc_card 
*card = rtd->card;
810532e7392e764 Srinivas Kandagatla 2021-10-06  33      int rval, i;
810532e7392e764 Srinivas Kandagatla 2021-10-06  34  
810532e7392e764 Srinivas Kandagatla 2021-10-06  35      if (!data->jack_setup) {
810532e7392e764 Srinivas Kandagatla 2021-10-06  36              struct snd_jack 
*jack;
810532e7392e764 Srinivas Kandagatla 2021-10-06  37  
810532e7392e764 Srinivas Kandagatla 2021-10-06  38              rval = 
snd_soc_card_jack_new(card, "Headset Jack",
810532e7392e764 Srinivas Kandagatla 2021-10-06  39                              
             SND_JACK_HEADSET | SND_JACK_LINEOUT |
810532e7392e764 Srinivas Kandagatla 2021-10-06  40                              
             SND_JACK_MECHANICAL |
810532e7392e764 Srinivas Kandagatla 2021-10-06  41                              
             SND_JACK_BTN_0 | SND_JACK_BTN_1 |
810532e7392e764 Srinivas Kandagatla 2021-10-06  42                              
             SND_JACK_BTN_2 | SND_JACK_BTN_3 |
810532e7392e764 Srinivas Kandagatla 2021-10-06  43                              
             SND_JACK_BTN_4 | SND_JACK_BTN_5,
810532e7392e764 Srinivas Kandagatla 2021-10-06  44                              
             &data->jack, NULL, 0);
810532e7392e764 Srinivas Kandagatla 2021-10-06  45  
810532e7392e764 Srinivas Kandagatla 2021-10-06  46              if (rval < 0) {
810532e7392e764 Srinivas Kandagatla 2021-10-06  47                      
dev_err(card->dev, "Unable to add Headphone Jack\n");
810532e7392e764 Srinivas Kandagatla 2021-10-06  48                      return 
rval;
810532e7392e764 Srinivas Kandagatla 2021-10-06  49              }
810532e7392e764 Srinivas Kandagatla 2021-10-06  50  
810532e7392e764 Srinivas Kandagatla 2021-10-06  51              jack = 
data->jack.jack;
810532e7392e764 Srinivas Kandagatla 2021-10-06  52  
810532e7392e764 Srinivas Kandagatla 2021-10-06  53              
snd_jack_set_key(jack, SND_JACK_BTN_0, KEY_MEDIA);
810532e7392e764 Srinivas Kandagatla 2021-10-06  54              
snd_jack_set_key(jack, SND_JACK_BTN_1, KEY_VOICECOMMAND);
810532e7392e764 Srinivas Kandagatla 2021-10-06  55              
snd_jack_set_key(jack, SND_JACK_BTN_2, KEY_VOLUMEUP);
810532e7392e764 Srinivas Kandagatla 2021-10-06  56              
snd_jack_set_key(jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN);
810532e7392e764 Srinivas Kandagatla 2021-10-06  57              
data->jack_setup = true;
810532e7392e764 Srinivas Kandagatla 2021-10-06  58      }
810532e7392e764 Srinivas Kandagatla 2021-10-06  59  
810532e7392e764 Srinivas Kandagatla 2021-10-06  60      switch (cpu_dai->id) {
810532e7392e764 Srinivas Kandagatla 2021-10-06  61      case TX_CODEC_DMA_TX_0:
810532e7392e764 Srinivas Kandagatla 2021-10-06  62      case TX_CODEC_DMA_TX_1:
810532e7392e764 Srinivas Kandagatla 2021-10-06  63      case TX_CODEC_DMA_TX_2:
810532e7392e764 Srinivas Kandagatla 2021-10-06  64      case TX_CODEC_DMA_TX_3:
810532e7392e764 Srinivas Kandagatla 2021-10-06  65              
for_each_rtd_codec_dais(rtd, i, codec_dai) {
810532e7392e764 Srinivas Kandagatla 2021-10-06  66                      rval = 
snd_soc_component_set_jack(codec_dai->component,
810532e7392e764 Srinivas Kandagatla 2021-10-06  67                              
                          &data->jack, NULL);
810532e7392e764 Srinivas Kandagatla 2021-10-06  68                      if 
(rval != 0 && rval != -ENOTSUPP) {
810532e7392e764 Srinivas Kandagatla 2021-10-06  69                              
dev_warn(card->dev, "Failed to set jack: %d\n", rval);
810532e7392e764 Srinivas Kandagatla 2021-10-06  70                              
return rval;
810532e7392e764 Srinivas Kandagatla 2021-10-06  71                      }
810532e7392e764 Srinivas Kandagatla 2021-10-06  72              }
810532e7392e764 Srinivas Kandagatla 2021-10-06  73  
810532e7392e764 Srinivas Kandagatla 2021-10-06  74              break;
810532e7392e764 Srinivas Kandagatla 2021-10-06  75      default:
810532e7392e764 Srinivas Kandagatla 2021-10-06  76              break;
810532e7392e764 Srinivas Kandagatla 2021-10-06  77      }
810532e7392e764 Srinivas Kandagatla 2021-10-06  78  
810532e7392e764 Srinivas Kandagatla 2021-10-06  79  
810532e7392e764 Srinivas Kandagatla 2021-10-06  80      return 0;
810532e7392e764 Srinivas Kandagatla 2021-10-06  81  }
810532e7392e764 Srinivas Kandagatla 2021-10-06  82  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to