* [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.