llvm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: [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
Date: Thu, 10 Sep 2026 10:53:53 +0800	[thread overview]
Message-ID: <202609101046.H3n8Zm20-lkp@intel.com> (raw)

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

                 reply	other threads:[~2026-09-10  2:54 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202609101046.H3n8Zm20-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).