All of lore.kernel.org
 help / color / mirror / Atom feed
* [morimoto:sound-cleanup-2026-09-04 260/343] sound/soc/codecs/sn624x-sdca-sdw.c:1443:50: error: invalid use of undefined type 'struct snd_soc_dai'
@ 2026-09-07 20:43 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-09-07 20:43 UTC (permalink / raw)
  To: Kuninori Morimoto; +Cc: oe-kbuild-all

tree:   https://github.com/morimoto/linux sound-cleanup-2026-09-04
head:   dfa282dfe99643be782149d948208f3d514ebb99
commit: 4f2f1933fcf300aec135d095ab4fc78c3ed70962 [260/343] ASoC: soc-dai: move struct snd_soc_dai to soc-dai.c
config: x86_64-rhel-9.4 (https://download.01.org/0day-ci/archive/20260908/202609080402.a8f5yu7s-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260908/202609080402.a8f5yu7s-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609080402.a8f5yu7s-lkp@intel.com/

All errors (new ones prefixed by >>):

   sound/soc/codecs/sn624x-sdca-sdw.c: In function 'sn624x_sdca_pcm_hw_params':
>> sound/soc/codecs/sn624x-sdca-sdw.c:1443:50: error: invalid use of undefined type 'struct snd_soc_dai'
    1443 |         struct snd_soc_component *component = dai->component;
         |                                                  ^~
   In file included from include/linux/printk.h:620,
                    from include/asm-generic/bug.h:31,
                    from arch/x86/include/asm/bug.h:195,
                    from arch/x86/include/asm/alternative.h:9,
                    from arch/x86/include/asm/barrier.h:5,
                    from include/asm-generic/bitops/generic-non-atomic.h:7,
                    from include/linux/bitops.h:28,
                    from sound/soc/codecs/sn624x-sdca-sdw.c:8:
   sound/soc/codecs/sn624x-sdca-sdw.c:1452:20: error: invalid use of undefined type 'struct snd_soc_dai'
    1452 |         dev_dbg(dai->dev,
         |                    ^~
   include/linux/dynamic_debug.h:231:29: note: in definition of macro '__dynamic_func_call_cls'
     231 |                 func(&id, ##__VA_ARGS__);                       \
         |                             ^~~~~~~~~~~
   include/linux/dynamic_debug.h:261:9: note: in expansion of macro '_dynamic_func_call_cls'
     261 |         _dynamic_func_call_cls(_DPRINTK_CLASS_DFLT, fmt, func, ##__VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/dynamic_debug.h:284:9: note: in expansion of macro '_dynamic_func_call'
     284 |         _dynamic_func_call(fmt, __dynamic_dev_dbg,              \
         |         ^~~~~~~~~~~~~~~~~~
   include/linux/dev_printk.h:165:9: note: in expansion of macro 'dynamic_dev_dbg'
     165 |         dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~~~~~~~~~~
   sound/soc/codecs/sn624x-sdca-sdw.c:1452:9: note: in expansion of macro 'dev_dbg'
    1452 |         dev_dbg(dai->dev,
         |         ^~~~~~~
   sound/soc/codecs/sn624x-sdca-sdw.c:1454:21: error: invalid use of undefined type 'struct snd_soc_dai'
    1454 |                  dai->name, dai->id, snd_pcm_stream_str(substream));
         |                     ^~
   include/linux/dynamic_debug.h:231:29: note: in definition of macro '__dynamic_func_call_cls'
     231 |                 func(&id, ##__VA_ARGS__);                       \
         |                             ^~~~~~~~~~~
   include/linux/dynamic_debug.h:261:9: note: in expansion of macro '_dynamic_func_call_cls'
     261 |         _dynamic_func_call_cls(_DPRINTK_CLASS_DFLT, fmt, func, ##__VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/dynamic_debug.h:284:9: note: in expansion of macro '_dynamic_func_call'
     284 |         _dynamic_func_call(fmt, __dynamic_dev_dbg,              \
         |         ^~~~~~~~~~~~~~~~~~
   include/linux/dev_printk.h:165:9: note: in expansion of macro 'dynamic_dev_dbg'
     165 |         dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~~~~~~~~~~
   sound/soc/codecs/sn624x-sdca-sdw.c:1452:9: note: in expansion of macro 'dev_dbg'
    1452 |         dev_dbg(dai->dev,
         |         ^~~~~~~
   sound/soc/codecs/sn624x-sdca-sdw.c:1454:32: error: invalid use of undefined type 'struct snd_soc_dai'
    1454 |                  dai->name, dai->id, snd_pcm_stream_str(substream));
         |                                ^~
   include/linux/dynamic_debug.h:231:29: note: in definition of macro '__dynamic_func_call_cls'
     231 |                 func(&id, ##__VA_ARGS__);                       \
         |                             ^~~~~~~~~~~
   include/linux/dynamic_debug.h:261:9: note: in expansion of macro '_dynamic_func_call_cls'
     261 |         _dynamic_func_call_cls(_DPRINTK_CLASS_DFLT, fmt, func, ##__VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/dynamic_debug.h:284:9: note: in expansion of macro '_dynamic_func_call'
     284 |         _dynamic_func_call(fmt, __dynamic_dev_dbg,              \
         |         ^~~~~~~~~~~~~~~~~~
   include/linux/dev_printk.h:165:9: note: in expansion of macro 'dynamic_dev_dbg'
     165 |         dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~~~~~~~~~~
   sound/soc/codecs/sn624x-sdca-sdw.c:1452:9: note: in expansion of macro 'dev_dbg'
    1452 |         dev_dbg(dai->dev,
         |         ^~~~~~~
   sound/soc/codecs/sn624x-sdca-sdw.c:1456:22: error: implicit declaration of function 'snd_soc_dai_get_dma_data'; did you mean 'snd_soc_card_get_drvdata'? [-Wimplicit-function-declaration]
    1456 |         sdw_stream = snd_soc_dai_get_dma_data(dai, substream);
         |                      ^~~~~~~~~~~~~~~~~~~~~~~~
         |                      snd_soc_card_get_drvdata
   sound/soc/codecs/sn624x-sdca-sdw.c:1456:20: error: assignment to 'struct sdw_stream_runtime *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    1456 |         sdw_stream = snd_soc_dai_get_dma_data(dai, substream);
         |                    ^
   In file included from include/linux/device.h:15,
                    from sound/soc/codecs/sn624x-sdca-sdw.c:11:
   sound/soc/codecs/sn624x-sdca-sdw.c:1458:29: error: invalid use of undefined type 'struct snd_soc_dai'
    1458 |                 dev_warn(dai->dev,
         |                             ^~
   include/linux/dev_printk.h:110:25: note: in definition of macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                         ^~~
   sound/soc/codecs/sn624x-sdca-sdw.c:1458:17: note: in expansion of macro 'dev_warn'
    1458 |                 dev_warn(dai->dev,
         |                 ^~~~~~~~
   sound/soc/codecs/sn624x-sdca-sdw.c:1463:29: error: invalid use of undefined type 'struct snd_soc_dai'
    1463 |                 dev_warn(dai->dev, "sn624x: hw_params: slave NULL\n");
         |                             ^~
   include/linux/dev_printk.h:110:25: note: in definition of macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                         ^~~
   sound/soc/codecs/sn624x-sdca-sdw.c:1463:17: note: in expansion of macro 'dev_warn'
    1463 |                 dev_warn(dai->dev, "sn624x: hw_params: slave NULL\n");
         |                 ^~~~~~~~
   sound/soc/codecs/sn624x-sdca-sdw.c:1469:28: error: invalid use of undefined type 'struct snd_soc_dai'
    1469 |                 dev_err(dai->dev,
         |                            ^~
   include/linux/dev_printk.h:110:25: note: in definition of macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                         ^~~
   sound/soc/codecs/sn624x-sdca-sdw.c:1469:17: note: in expansion of macro 'dev_err'
    1469 |                 dev_err(dai->dev,
         |                 ^~~~~~~
--
   sound/soc/sdw_utils/soc_sdw_senary_sdca.c: In function 'asoc_sdw_senary_sdca_spk_rtd_init':
>> sound/soc/sdw_utils/soc_sdw_senary_sdca.c:49:74: error: invalid use of undefined type 'struct snd_soc_dai'
      49 |         const struct codec_route_map *route_map = get_codec_route_map(dai->name);
         |                                                                          ^~
--
   sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c: In function 'asoc_sdw_senary_sdca_jack_rtd_init':
>> sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c:85:24: error: invalid use of undefined type 'struct snd_soc_dai'
      85 |         component = dai->component;
         |                        ^~
--
   sound/soc/sdw_utils/soc_sdw_senary_dmic.c: In function 'asoc_sdw_senary_dmic_rtd_init':
>> sound/soc/sdw_utils/soc_sdw_senary_dmic.c:26:24: error: invalid use of undefined type 'struct snd_soc_dai'
      26 |         component = dai->component;
         |                        ^~


vim +1443 sound/soc/codecs/sn624x-sdca-sdw.c

12d9c9f8679c56 Qianghua Wang 2026-09-01  1438  
12d9c9f8679c56 Qianghua Wang 2026-09-01  1439  static int sn624x_sdca_pcm_hw_params(struct snd_pcm_substream *substream,
12d9c9f8679c56 Qianghua Wang 2026-09-01  1440  				     struct snd_pcm_hw_params *params,
12d9c9f8679c56 Qianghua Wang 2026-09-01  1441  				     struct snd_soc_dai *dai)
12d9c9f8679c56 Qianghua Wang 2026-09-01  1442  {
12d9c9f8679c56 Qianghua Wang 2026-09-01 @1443  	struct snd_soc_component *component = dai->component;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1444  	struct sn624x_sdca_priv *sn624x = snd_soc_component_get_drvdata(component);
12d9c9f8679c56 Qianghua Wang 2026-09-01  1445  	struct sdw_stream_config stream_config = {};
12d9c9f8679c56 Qianghua Wang 2026-09-01  1446  	struct sdw_port_config port_config = {};
12d9c9f8679c56 Qianghua Wang 2026-09-01  1447  	struct sdw_stream_runtime *sdw_stream;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1448  	unsigned int sampling_rate;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1449  	int port;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1450  	int ret;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1451  
12d9c9f8679c56 Qianghua Wang 2026-09-01  1452  	dev_dbg(dai->dev,
12d9c9f8679c56 Qianghua Wang 2026-09-01  1453  		 "sn624x: hw_params: entered dai=%s id=%d stream=%s\n",
12d9c9f8679c56 Qianghua Wang 2026-09-01  1454  		 dai->name, dai->id, snd_pcm_stream_str(substream));
12d9c9f8679c56 Qianghua Wang 2026-09-01  1455  
12d9c9f8679c56 Qianghua Wang 2026-09-01  1456  	sdw_stream = snd_soc_dai_get_dma_data(dai, substream);
12d9c9f8679c56 Qianghua Wang 2026-09-01  1457  	if (!sdw_stream) {
12d9c9f8679c56 Qianghua Wang 2026-09-01  1458  		dev_warn(dai->dev,
12d9c9f8679c56 Qianghua Wang 2026-09-01  1459  			 "sn624x: hw_params: no SDW stream (set_stream not run yet?)\n");
12d9c9f8679c56 Qianghua Wang 2026-09-01  1460  		return -EINVAL;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1461  	}
12d9c9f8679c56 Qianghua Wang 2026-09-01  1462  	if (!sn624x->slave) {
12d9c9f8679c56 Qianghua Wang 2026-09-01  1463  		dev_warn(dai->dev, "sn624x: hw_params: slave NULL\n");
12d9c9f8679c56 Qianghua Wang 2026-09-01  1464  		return -EINVAL;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1465  	}
12d9c9f8679c56 Qianghua Wang 2026-09-01  1466  
12d9c9f8679c56 Qianghua Wang 2026-09-01  1467  	ret = pm_runtime_resume(component->dev);
12d9c9f8679c56 Qianghua Wang 2026-09-01  1468  	if (ret < 0 && ret != -EACCES) {
12d9c9f8679c56 Qianghua Wang 2026-09-01  1469  		dev_err(dai->dev,
12d9c9f8679c56 Qianghua Wang 2026-09-01  1470  			"sn624x: hw_params: pm_runtime_resume failed (%d)\n", ret);
12d9c9f8679c56 Qianghua Wang 2026-09-01  1471  		return ret;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1472  	}
12d9c9f8679c56 Qianghua Wang 2026-09-01  1473  
12d9c9f8679c56 Qianghua Wang 2026-09-01  1474  	snd_sdw_params_to_config(substream, params, &stream_config, &port_config);
12d9c9f8679c56 Qianghua Wang 2026-09-01  1475  
12d9c9f8679c56 Qianghua Wang 2026-09-01  1476  	if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
12d9c9f8679c56 Qianghua Wang 2026-09-01  1477  		if (dai->id == SN624X_DAI_JACK)
12d9c9f8679c56 Qianghua Wang 2026-09-01  1478  			port = SN624X_PORT_JACK_PLAYBACK;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1479  		else if (dai->id == SN624X_DAI_SPEAKER)
12d9c9f8679c56 Qianghua Wang 2026-09-01  1480  			port = SN624X_PORT_SPEAKER_PLAYBACK;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1481  		else
12d9c9f8679c56 Qianghua Wang 2026-09-01  1482  			return -EINVAL;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1483  	} else {
12d9c9f8679c56 Qianghua Wang 2026-09-01  1484  		if (dai->id == SN624X_DAI_JACK)
12d9c9f8679c56 Qianghua Wang 2026-09-01  1485  			port = SN624X_PORT_JACK_CAPTURE;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1486  		else if (dai->id == SN624X_DAI_DMIC)
12d9c9f8679c56 Qianghua Wang 2026-09-01  1487  			port = SN624X_PORT_DMIC_CAPTURE;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1488  		else
12d9c9f8679c56 Qianghua Wang 2026-09-01  1489  			return -EINVAL;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1490  	}
12d9c9f8679c56 Qianghua Wang 2026-09-01  1491  	port_config.num = port;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1492  
12d9c9f8679c56 Qianghua Wang 2026-09-01  1493  	ret = sdw_stream_add_slave(sn624x->slave, &stream_config,
12d9c9f8679c56 Qianghua Wang 2026-09-01  1494  				   &port_config, 1, sdw_stream);
12d9c9f8679c56 Qianghua Wang 2026-09-01  1495  	if (ret) {
12d9c9f8679c56 Qianghua Wang 2026-09-01  1496  		dev_err(dai->dev, "%s: sdw_stream_add_slave port %d failed: %d\n",
12d9c9f8679c56 Qianghua Wang 2026-09-01  1497  			__func__, port, ret);
12d9c9f8679c56 Qianghua Wang 2026-09-01  1498  		return ret;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1499  	}
12d9c9f8679c56 Qianghua Wang 2026-09-01  1500  
12d9c9f8679c56 Qianghua Wang 2026-09-01  1501  	/* SDCA SampleFreqIndex (same encoding as other SDCA codecs) */
12d9c9f8679c56 Qianghua Wang 2026-09-01  1502  	switch (params_rate(params)) {
12d9c9f8679c56 Qianghua Wang 2026-09-01  1503  	case 44100:
12d9c9f8679c56 Qianghua Wang 2026-09-01  1504  		sampling_rate = SN624X_SDCA_RATE_44100HZ;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1505  		break;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1506  	case 48000:
12d9c9f8679c56 Qianghua Wang 2026-09-01  1507  		sampling_rate = SN624X_SDCA_RATE_48000HZ;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1508  		break;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1509  	case 96000:
12d9c9f8679c56 Qianghua Wang 2026-09-01  1510  		sampling_rate = SN624X_SDCA_RATE_96000HZ;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1511  		break;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1512  	case 192000:
12d9c9f8679c56 Qianghua Wang 2026-09-01  1513  		sampling_rate = SN624X_SDCA_RATE_192000HZ;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1514  		break;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1515  	default:
12d9c9f8679c56 Qianghua Wang 2026-09-01  1516  		dev_err(dai->dev, "%s: Rate %d is not supported\n",
12d9c9f8679c56 Qianghua Wang 2026-09-01  1517  			__func__, params_rate(params));
12d9c9f8679c56 Qianghua Wang 2026-09-01  1518  		return -EINVAL;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1519  	}
12d9c9f8679c56 Qianghua Wang 2026-09-01  1520  
12d9c9f8679c56 Qianghua Wang 2026-09-01  1521  	if (dai->id == SN624X_DAI_JACK) {
12d9c9f8679c56 Qianghua Wang 2026-09-01  1522  		if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
12d9c9f8679c56 Qianghua Wang 2026-09-01  1523  			ret = regmap_write(sn624x->regmap,
12d9c9f8679c56 Qianghua Wang 2026-09-01  1524  					   SN624X_REG_JACK_OUT_RATE_SEL,
12d9c9f8679c56 Qianghua Wang 2026-09-01  1525  					   sampling_rate);
12d9c9f8679c56 Qianghua Wang 2026-09-01  1526  		else
12d9c9f8679c56 Qianghua Wang 2026-09-01  1527  			ret = regmap_write(sn624x->regmap,
12d9c9f8679c56 Qianghua Wang 2026-09-01  1528  					   SN624X_REG_JACK_CAP_RATE_SEL,
12d9c9f8679c56 Qianghua Wang 2026-09-01  1529  					   sampling_rate);
12d9c9f8679c56 Qianghua Wang 2026-09-01  1530  	} else if (dai->id == SN624X_DAI_SPEAKER) {
12d9c9f8679c56 Qianghua Wang 2026-09-01  1531  		ret = regmap_write(sn624x->regmap, SN624X_REG_RATE_SEL,
12d9c9f8679c56 Qianghua Wang 2026-09-01  1532  				   sampling_rate);
12d9c9f8679c56 Qianghua Wang 2026-09-01  1533  	} else if (dai->id == SN624X_DAI_DMIC) {
12d9c9f8679c56 Qianghua Wang 2026-09-01  1534  		ret = regmap_write(sn624x->regmap, SN624X_REG_DMIC_CAP_RATE_SEL,
12d9c9f8679c56 Qianghua Wang 2026-09-01  1535  				   sampling_rate);
12d9c9f8679c56 Qianghua Wang 2026-09-01  1536  	} else {
12d9c9f8679c56 Qianghua Wang 2026-09-01  1537  		return -EINVAL;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1538  	}
12d9c9f8679c56 Qianghua Wang 2026-09-01  1539  
12d9c9f8679c56 Qianghua Wang 2026-09-01  1540  	return ret;
12d9c9f8679c56 Qianghua Wang 2026-09-01  1541  }
12d9c9f8679c56 Qianghua Wang 2026-09-01  1542  

:::::: The code at line 1443 was first introduced by commit
:::::: 12d9c9f8679c56e8c131dc2d8985c350ece7c4c3 ASoC: codecs: add SN624x SDCA SoundWire driver

:::::: TO: Qianghua Wang <qianghua.wang@senarytech.com>
:::::: CC: Mark Brown <broonie@kernel.org>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

only message in thread, other threads:[~2026-09-07 20:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-07 20:43 [morimoto:sound-cleanup-2026-09-04 260/343] sound/soc/codecs/sn624x-sdca-sdw.c:1443:50: error: invalid use of undefined type 'struct snd_soc_dai' 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.