All of lore.kernel.org
 help / color / mirror / Atom feed
* [morimoto:sound-cleanup-2026-09-04 265/343] sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c:79:36: error: call to undeclared function 'snd_soc_card_get_drvdata'; ISO C99 and later do not support implicit function declarations
@ 2026-09-10  2:53 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-09-10  2:53 UTC (permalink / raw)
  To: Kuninori Morimoto; +Cc: llvm, oe-kbuild-all

tree:   https://github.com/morimoto/linux sound-cleanup-2026-09-04
head:   dfa282dfe99643be782149d948208f3d514ebb99
commit: 9d6fae1badfb21786797586c01016e4413a98c3a [265/343] ASoC: soc-card.h: remove compatible definition
config: x86_64-rhel-9.4-rust (https://download.01.org/0day-ci/archive/20260910/202609101046.H3n8Zm20-lkp@intel.com/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
rustc: rustc 1.96.0 (ac68faa20 2026-05-25)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260910/202609101046.H3n8Zm20-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/202609101046.H3n8Zm20-lkp@intel.com/

All errors (new ones prefixed by >>):

>> sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c:79:36: error: call to undeclared function 'snd_soc_card_get_drvdata'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      79 |         struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
         |                                           ^
>> sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c:79:30: error: incompatible integer to pointer conversion initializing 'struct asoc_sdw_mc_private *' with an expression of type 'int' [-Wint-conversion]
      79 |         struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
         |                                     ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c:85:17: error: incomplete definition of type 'struct snd_soc_dai'
      85 |         component = dai->component;
         |                     ~~~^
   include/sound/soc.h:419:8: note: forward declaration of 'struct snd_soc_dai'
     419 | struct snd_soc_dai;
         |        ^
   sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c:88:35: error: incomplete definition of type 'struct snd_soc_component'
      88 |                                           card->components, component->name_prefix);
         |                                                             ~~~~~~~~~^
   include/sound/soc.h:422:8: note: forward declaration of 'struct snd_soc_component'
     422 | struct snd_soc_component;
         |        ^
   sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c:93:24: error: incomplete definition of type 'struct snd_soc_component'
      93 |                 if (!strstr(component->name_prefix, need_sdca_suffix[i]))
         |                             ~~~~~~~~~^
   include/sound/soc.h:422:8: note: forward declaration of 'struct snd_soc_component'
     422 | struct snd_soc_component;
         |        ^
   sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c:112:56: error: incomplete definition of type 'struct snd_soc_component'
     112 |                 dev_err(card->dev, "%s is not supported\n", component->name_prefix);
         |                                                             ~~~~~~~~~^
   include/sound/soc.h:422:8: note: forward declaration of 'struct snd_soc_component'
     422 | struct snd_soc_component;
         |        ^
   sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c:148:36: error: call to undeclared function 'snd_soc_card_get_drvdata'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     148 |         struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
         |                                           ^
   sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c:148:30: error: incompatible integer to pointer conversion initializing 'struct asoc_sdw_mc_private *' with an expression of type 'int' [-Wint-conversion]
     148 |         struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
         |                                     ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c:173:36: error: call to undeclared function 'snd_soc_card_get_drvdata'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     173 |         struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
         |                                           ^
   sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c:173:30: error: incompatible integer to pointer conversion initializing 'struct asoc_sdw_mc_private *' with an expression of type 'int' [-Wint-conversion]
     173 |         struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
         |                                     ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   10 errors generated.
--
>> sound/soc/sdw_utils/soc_sdw_senary_amp.c:23:36: error: call to undeclared function 'snd_soc_card_get_drvdata'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      23 |         struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
         |                                           ^
>> sound/soc/sdw_utils/soc_sdw_senary_amp.c:23:30: error: incompatible integer to pointer conversion initializing 'struct asoc_sdw_mc_private *' with an expression of type 'int' [-Wint-conversion]
      23 |         struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
         |                                     ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/sdw_utils/soc_sdw_senary_amp.c:44:36: error: call to undeclared function 'snd_soc_card_get_drvdata'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      44 |         struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
         |                                           ^
   sound/soc/sdw_utils/soc_sdw_senary_amp.c:44:30: error: incompatible integer to pointer conversion initializing 'struct asoc_sdw_mc_private *' with an expression of type 'int' [-Wint-conversion]
      44 |         struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
         |                                     ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   4 errors generated.


vim +/snd_soc_card_get_drvdata +79 sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c

77272ecd96d73a9 Qianghua Wang 2026-09-01   74  
77272ecd96d73a9 Qianghua Wang 2026-09-01   75  int asoc_sdw_senary_sdca_jack_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
77272ecd96d73a9 Qianghua Wang 2026-09-01   76  {
77272ecd96d73a9 Qianghua Wang 2026-09-01   77  	struct snd_soc_card *card = rtd->card;
77272ecd96d73a9 Qianghua Wang 2026-09-01   78  	struct snd_soc_dapm_context *dapm = snd_soc_card_to_dapm(card);
77272ecd96d73a9 Qianghua Wang 2026-09-01  @79  	struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
77272ecd96d73a9 Qianghua Wang 2026-09-01   80  	struct snd_soc_component *component;
77272ecd96d73a9 Qianghua Wang 2026-09-01   81  	struct snd_soc_jack *jack;
77272ecd96d73a9 Qianghua Wang 2026-09-01   82  	int ret;
77272ecd96d73a9 Qianghua Wang 2026-09-01   83  	int i;
77272ecd96d73a9 Qianghua Wang 2026-09-01   84  
77272ecd96d73a9 Qianghua Wang 2026-09-01   85  	component = dai->component;
77272ecd96d73a9 Qianghua Wang 2026-09-01   86  	card->components = devm_kasprintf(card->dev, GFP_KERNEL,
77272ecd96d73a9 Qianghua Wang 2026-09-01   87  					  "%s hs:%s",
77272ecd96d73a9 Qianghua Wang 2026-09-01   88  					  card->components, component->name_prefix);
77272ecd96d73a9 Qianghua Wang 2026-09-01   89  	if (!card->components)
77272ecd96d73a9 Qianghua Wang 2026-09-01   90  		return -ENOMEM;
77272ecd96d73a9 Qianghua Wang 2026-09-01   91  
77272ecd96d73a9 Qianghua Wang 2026-09-01   92  	for (i = 0; i < ARRAY_SIZE(need_sdca_suffix); i++) {
77272ecd96d73a9 Qianghua Wang 2026-09-01   93  		if (!strstr(component->name_prefix, need_sdca_suffix[i]))
77272ecd96d73a9 Qianghua Wang 2026-09-01   94  			continue;
77272ecd96d73a9 Qianghua Wang 2026-09-01   95  
77272ecd96d73a9 Qianghua Wang 2026-09-01   96  		card->components = devm_kasprintf(card->dev, GFP_KERNEL,
77272ecd96d73a9 Qianghua Wang 2026-09-01   97  						  "%s-sdca", card->components);
77272ecd96d73a9 Qianghua Wang 2026-09-01   98  		if (!card->components)
77272ecd96d73a9 Qianghua Wang 2026-09-01   99  			return -ENOMEM;
77272ecd96d73a9 Qianghua Wang 2026-09-01  100  
77272ecd96d73a9 Qianghua Wang 2026-09-01  101  		ret = snd_soc_dapm_add_routes(dapm, senary_sdca_jack_map,
77272ecd96d73a9 Qianghua Wang 2026-09-01  102  					      ARRAY_SIZE(senary_sdca_jack_map));
77272ecd96d73a9 Qianghua Wang 2026-09-01  103  		if (ret) {
77272ecd96d73a9 Qianghua Wang 2026-09-01  104  			dev_err(card->dev,
77272ecd96d73a9 Qianghua Wang 2026-09-01  105  				"senary sdca jack map addition failed: %d\n", ret);
77272ecd96d73a9 Qianghua Wang 2026-09-01  106  			return ret;
77272ecd96d73a9 Qianghua Wang 2026-09-01  107  		}
77272ecd96d73a9 Qianghua Wang 2026-09-01  108  		break;
77272ecd96d73a9 Qianghua Wang 2026-09-01  109  	}
77272ecd96d73a9 Qianghua Wang 2026-09-01  110  
77272ecd96d73a9 Qianghua Wang 2026-09-01  111  	if (i == ARRAY_SIZE(need_sdca_suffix)) {
77272ecd96d73a9 Qianghua Wang 2026-09-01  112  		dev_err(card->dev, "%s is not supported\n", component->name_prefix);
77272ecd96d73a9 Qianghua Wang 2026-09-01  113  		return -EINVAL;
77272ecd96d73a9 Qianghua Wang 2026-09-01  114  	}
77272ecd96d73a9 Qianghua Wang 2026-09-01  115  
77272ecd96d73a9 Qianghua Wang 2026-09-01  116  	ret = snd_soc_card_jack_new_pins(rtd->card, "Headset Jack",
77272ecd96d73a9 Qianghua Wang 2026-09-01  117  					 SND_JACK_HEADSET | SND_JACK_BTN_0 |
77272ecd96d73a9 Qianghua Wang 2026-09-01  118  					 SND_JACK_BTN_1 | SND_JACK_BTN_2 |
77272ecd96d73a9 Qianghua Wang 2026-09-01  119  					 SND_JACK_BTN_3,
77272ecd96d73a9 Qianghua Wang 2026-09-01  120  					 &ctx->sdw_headset,
77272ecd96d73a9 Qianghua Wang 2026-09-01  121  					 senary_sdca_jack_pins,
77272ecd96d73a9 Qianghua Wang 2026-09-01  122  					 ARRAY_SIZE(senary_sdca_jack_pins));
77272ecd96d73a9 Qianghua Wang 2026-09-01  123  	if (ret) {
77272ecd96d73a9 Qianghua Wang 2026-09-01  124  		dev_err(rtd->card->dev, "Headset Jack creation failed: %d\n",
77272ecd96d73a9 Qianghua Wang 2026-09-01  125  			ret);
77272ecd96d73a9 Qianghua Wang 2026-09-01  126  		return ret;
77272ecd96d73a9 Qianghua Wang 2026-09-01  127  	}
77272ecd96d73a9 Qianghua Wang 2026-09-01  128  
77272ecd96d73a9 Qianghua Wang 2026-09-01  129  	jack = &ctx->sdw_headset;
77272ecd96d73a9 Qianghua Wang 2026-09-01  130  
77272ecd96d73a9 Qianghua Wang 2026-09-01  131  	snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE);
77272ecd96d73a9 Qianghua Wang 2026-09-01  132  	snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND);
77272ecd96d73a9 Qianghua Wang 2026-09-01  133  	snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP);
77272ecd96d73a9 Qianghua Wang 2026-09-01  134  	snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN);
77272ecd96d73a9 Qianghua Wang 2026-09-01  135  
77272ecd96d73a9 Qianghua Wang 2026-09-01  136  	ret = snd_soc_component_set_jack(component, jack, NULL);
77272ecd96d73a9 Qianghua Wang 2026-09-01  137  
77272ecd96d73a9 Qianghua Wang 2026-09-01  138  	if (ret)
77272ecd96d73a9 Qianghua Wang 2026-09-01  139  		dev_err(rtd->card->dev, "Headset Jack call-back failed: %d\n",
77272ecd96d73a9 Qianghua Wang 2026-09-01  140  			ret);
77272ecd96d73a9 Qianghua Wang 2026-09-01  141  
77272ecd96d73a9 Qianghua Wang 2026-09-01  142  	return ret;
77272ecd96d73a9 Qianghua Wang 2026-09-01  143  }
77272ecd96d73a9 Qianghua Wang 2026-09-01  144  EXPORT_SYMBOL_NS(asoc_sdw_senary_sdca_jack_rtd_init, "SND_SOC_SDW_UTILS");
77272ecd96d73a9 Qianghua Wang 2026-09-01  145  

:::::: The code at line 79 was first introduced by commit
:::::: 77272ecd96d73a90ffc6d4f7939d16ce45303f5b ASoC: sdw_utils: add Senary SN624x helpers and codec_info

:::::: 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-10  2:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-10  2:53 [morimoto:sound-cleanup-2026-09-04 265/343] sound/soc/sdw_utils/soc_sdw_senary_sdca_jack_common.c:79:36: error: call to undeclared function 'snd_soc_card_get_drvdata'; ISO C99 and later do not support implicit function declarations 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.