All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: oe-kbuild-all@lists.linux.dev
Subject: [morimoto:sound-cleanup-2026-07-16 309/311] sound/soc/soc-card.c:1125:61: error: 'struct snd_soc_card' has no member named 'driver_name'
Date: Fri, 17 Jul 2026 06:11:00 +0200	[thread overview]
Message-ID: <202607170603.6VjqqFUe-lkp@intel.com> (raw)

tree:   https://github.com/morimoto/linux sound-cleanup-2026-07-16
head:   e51d2e02d8d4c974132f00eec9d2215a476084f0
commit: 4658683b3370aaff3923e5a86dc7e81f3ea478f3 [309/311] ASoC: soc.h: remove compatible definition
config: x86_64-rhel-9.4-bpf (https://download.01.org/0day-ci/archive/20260717/202607170603.6VjqqFUe-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/20260717/202607170603.6VjqqFUe-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/202607170603.6VjqqFUe-lkp@intel.com/

All errors (new ones prefixed by >>):

         |                           ^~
   sound/soc/soc-card.c: In function 'snd_soc_card_probe':
   sound/soc/soc-card.c:847:19: error: 'struct snd_soc_card' has no member named 'probe'; did you mean 'probed'?
     847 |         if (card->probe) {
         |                   ^~~~~
         |                   probed
   sound/soc/soc-card.c:848:33: error: 'struct snd_soc_card' has no member named 'probe'; did you mean 'probed'?
     848 |                 int ret = card->probe(card);
         |                                 ^~~~~
         |                                 probed
   sound/soc/soc-card.c: In function 'soc_card_late_probe':
   sound/soc/soc-card.c:870:17: error: 'struct snd_soc_card' has no member named 'late_probe'
     870 |         if (card->late_probe) {
         |                 ^~
   sound/soc/soc-card.c:871:31: error: 'struct snd_soc_card' has no member named 'late_probe'
     871 |                 int ret = card->late_probe(card);
         |                               ^~
   sound/soc/soc-card.c: In function 'snd_soc_card_fixup_controls':
   sound/soc/soc-card.c:894:17: error: 'struct snd_soc_card' has no member named 'fixup_controls'
     894 |         if (card->fixup_controls)
         |                 ^~
   sound/soc/soc-card.c:895:21: error: 'struct snd_soc_card' has no member named 'fixup_controls'
     895 |                 card->fixup_controls(card);
         |                     ^~
   sound/soc/soc-card.c: In function 'snd_soc_card_remove':
   sound/soc/soc-card.c:903:17: error: 'struct snd_soc_card' has no member named 'remove'
     903 |             card->remove)
         |                 ^~
   sound/soc/soc-card.c:904:27: error: 'struct snd_soc_card' has no member named 'remove'
     904 |                 ret = card->remove(card);
         |                           ^~
   sound/soc/soc-card.c: In function 'snd_soc_card_set_bias_level':
   sound/soc/soc-card.c:917:17: error: 'struct snd_soc_card' has no member named 'set_bias_level'
     917 |         if (card->set_bias_level)
         |                 ^~
   sound/soc/soc-card.c:918:27: error: 'struct snd_soc_card' has no member named 'set_bias_level'
     918 |                 ret = card->set_bias_level(card, dapm, level);
         |                           ^~
   sound/soc/soc-card.c: In function 'snd_soc_card_set_bias_level_post':
   sound/soc/soc-card.c:929:17: error: 'struct snd_soc_card' has no member named 'set_bias_level_post'
     929 |         if (card->set_bias_level_post)
         |                 ^~
   sound/soc/soc-card.c:930:27: error: 'struct snd_soc_card' has no member named 'set_bias_level_post'
     930 |                 ret = card->set_bias_level_post(card, dapm, level);
         |                           ^~
   sound/soc/soc-card.c: In function 'snd_soc_card_add_dai_link':
   sound/soc/soc-card.c:940:17: error: 'struct snd_soc_card' has no member named 'add_dai_link'
     940 |         if (card->add_dai_link)
         |                 ^~
   sound/soc/soc-card.c:941:27: error: 'struct snd_soc_card' has no member named 'add_dai_link'
     941 |                 ret = card->add_dai_link(card, dai_link);
         |                           ^~
   sound/soc/soc-card.c: In function 'snd_soc_card_remove_dai_link':
   sound/soc/soc-card.c:950:17: error: 'struct snd_soc_card' has no member named 'remove_dai_link'
     950 |         if (card->remove_dai_link)
         |                 ^~
   sound/soc/soc-card.c:951:21: error: 'struct snd_soc_card' has no member named 'remove_dai_link'
     951 |                 card->remove_dai_link(card, dai_link);
         |                     ^~
   sound/soc/soc-card.c: In function 'soc_card_bind':
   sound/soc/soc-card.c:1036:50: error: 'struct snd_soc_card' has no member named 'dai_link'
    1036 |         ret = snd_soc_add_pcm_runtimes(card, card->dai_link, card->num_links);
         |                                                  ^~
   sound/soc/soc-card.c:1036:66: error: 'struct snd_soc_card' has no member named 'num_links'
    1036 |         ret = snd_soc_add_pcm_runtimes(card, card->dai_link, card->num_links);
         |                                                                  ^~
   sound/soc/soc-card.c:1042:32: error: 'struct snd_soc_card' has no member named 'owner'
    1042 |                            card->owner, 0, &snd_card);
         |                                ^~
   sound/soc/soc-card.c:1055:51: error: 'struct snd_soc_card' has no member named 'dapm_widgets'
    1055 |         ret = snd_soc_dapm_new_controls(dapm, card->dapm_widgets,
         |                                                   ^~
   sound/soc/soc-card.c:1056:45: error: 'struct snd_soc_card' has no member named 'num_dapm_widgets'
    1056 |                                         card->num_dapm_widgets);
         |                                             ^~
   sound/soc/soc-card.c:1060:51: error: 'struct snd_soc_card' has no member named 'of_dapm_widgets'
    1060 |         ret = snd_soc_dapm_new_controls(dapm, card->of_dapm_widgets,
         |                                                   ^~
   sound/soc/soc-card.c:1061:45: error: 'struct snd_soc_card' has no member named 'num_of_dapm_widgets'
    1061 |                                         card->num_of_dapm_widgets);
         |                                             ^~
   sound/soc/soc-card.c:1105:51: error: 'struct snd_soc_card' has no member named 'controls'
    1105 |         ret = snd_soc_card_add_controls(card, card->controls,
         |                                                   ^~
   sound/soc/soc-card.c:1106:45: error: 'struct snd_soc_card' has no member named 'num_controls'
    1106 |                                         card->num_controls);
         |                                             ^~
   sound/soc/soc-card.c:1110:51: error: 'struct snd_soc_card' has no member named 'dapm_routes'; did you mean 'dapm_mutex'?
    1110 |         ret = snd_soc_dapm_add_routes(dapm, card->dapm_routes,
         |                                                   ^~~~~~~~~~~
         |                                                   dapm_mutex
   sound/soc/soc-card.c:1111:43: error: 'struct snd_soc_card' has no member named 'num_dapm_routes'
    1111 |                                       card->num_dapm_routes);
         |                                           ^~
   sound/soc/soc-card.c:1115:49: error: 'struct snd_soc_card' has no member named 'of_dapm_routes'
    1115 |         ret = snd_soc_dapm_add_routes(dapm, card->of_dapm_routes,
         |                                                 ^~
   sound/soc/soc-card.c:1116:43: error: 'struct snd_soc_card' has no member named 'num_of_dapm_routes'
    1116 |                                       card->num_of_dapm_routes);
         |                                           ^~
>> sound/soc/soc-card.c:1125:61: error: 'struct snd_soc_card' has no member named 'driver_name'
    1125 |         soc_card_setup_name(card, snd_card->driver,     card->driver_name,      card->name);
         |                                                             ^~
   sound/soc/soc-card.c:644:57: note: in definition of macro 'soc_card_setup_name'
     644 |         __soc_card_setup_name(card, name, sizeof(name), name1, name2)
         |                                                         ^~~~~
   sound/soc/soc-card.c: At top level:
   sound/soc/soc-card.c:1365:5: warning: no previous prototype for 'snd_soc_register_card' [-Wmissing-prototypes]
    1365 | int snd_soc_register_card(struct snd_soc_card *card)
         |     ^~~~~~~~~~~~~~~~~~~~~
   sound/soc/soc-card.c: In function 'snd_soc_card_register_c':
   sound/soc/soc-card.c:1412:13: error: 'struct snd_soc_card' has no member named 'driver_name'
    1412 |         card->driver_name                       = driver->driver_name;
         |             ^~
   sound/soc/soc-card.c:1414:13: error: 'struct snd_soc_card' has no member named 'dai_link'
    1414 |         card->dai_link                          = driver->dai_link;
         |             ^~
   sound/soc/soc-card.c:1415:13: error: 'struct snd_soc_card' has no member named 'num_links'
    1415 |         card->num_links                         = driver->num_links;
         |             ^~
   sound/soc/soc-card.c:1416:13: error: 'struct snd_soc_card' has no member named 'codec_conf'
    1416 |         card->codec_conf                        = driver->codec_conf;
         |             ^~
   sound/soc/soc-card.c:1417:13: error: 'struct snd_soc_card' has no member named 'num_configs'
    1417 |         card->num_configs                       = driver->num_configs;
         |             ^~
   sound/soc/soc-card.c:1418:13: error: 'struct snd_soc_card' has no member named 'aux_dev'
    1418 |         card->aux_dev                           = driver->aux_dev;
         |             ^~
   sound/soc/soc-card.c:1419:13: error: 'struct snd_soc_card' has no member named 'num_aux_devs'
    1419 |         card->num_aux_devs                      = driver->num_aux_devs;
         |             ^~
   sound/soc/soc-card.c:1420:13: error: 'struct snd_soc_card' has no member named 'controls'
    1420 |         card->controls                          = driver->controls;
         |             ^~
   sound/soc/soc-card.c:1421:13: error: 'struct snd_soc_card' has no member named 'num_controls'
    1421 |         card->num_controls                      = driver->num_controls;
         |             ^~
   sound/soc/soc-card.c:1422:13: error: 'struct snd_soc_card' has no member named 'dapm_widgets'
    1422 |         card->dapm_widgets                      = driver->dapm_widgets;
         |             ^~
   sound/soc/soc-card.c:1423:13: error: 'struct snd_soc_card' has no member named 'num_dapm_widgets'
    1423 |         card->num_dapm_widgets                  = driver->num_dapm_widgets;
         |             ^~
   sound/soc/soc-card.c:1424:15: error: 'struct snd_soc_card' has no member named 'dapm_routes'; did you mean 'dapm_mutex'?
    1424 |         card->dapm_routes                       = driver->dapm_routes;
         |               ^~~~~~~~~~~
         |               dapm_mutex
   sound/soc/soc-card.c:1425:13: error: 'struct snd_soc_card' has no member named 'num_dapm_routes'
    1425 |         card->num_dapm_routes                   = driver->num_dapm_routes;
         |             ^~
   sound/soc/soc-card.c:1426:13: error: 'struct snd_soc_card' has no member named 'of_dapm_widgets'
    1426 |         card->of_dapm_widgets                   = driver->of_dapm_widgets;
         |             ^~
   sound/soc/soc-card.c:1427:13: error: 'struct snd_soc_card' has no member named 'num_of_dapm_widgets'
    1427 |         card->num_of_dapm_widgets               = driver->num_of_dapm_widgets;
         |             ^~
   sound/soc/soc-card.c:1428:13: error: 'struct snd_soc_card' has no member named 'of_dapm_routes'
    1428 |         card->of_dapm_routes                    = driver->of_dapm_routes;
         |             ^~
   sound/soc/soc-card.c:1429:13: error: 'struct snd_soc_card' has no member named 'num_of_dapm_routes'
    1429 |         card->num_of_dapm_routes                = driver->num_of_dapm_routes;
         |             ^~
   sound/soc/soc-card.c:1430:13: error: 'struct snd_soc_card' has no member named 'of_ignore_suspend_widgets'
    1430 |         card->of_ignore_suspend_widgets         = driver->of_ignore_suspend_widgets;
         |             ^~
   sound/soc/soc-card.c:1431:13: error: 'struct snd_soc_card' has no member named 'num_of_ignore_suspend_widgets'
    1431 |         card->num_of_ignore_suspend_widgets     = driver->num_of_ignore_suspend_widgets;
         |             ^~
   sound/soc/soc-card.c:1432:13: error: 'struct snd_soc_card' has no member named 'fully_routed'
    1432 |         card->fully_routed                      = driver->fully_routed;
         |             ^~
   sound/soc/soc-card.c:1433:13: error: 'struct snd_soc_card' has no member named 'component_chaining'
    1433 |         card->component_chaining                = driver->component_chaining;
         |             ^~
   sound/soc/soc-card.c: In function 'snd_soc_card_of_parse_simple_widgets':
   sound/soc/soc-card.c:1656:13: error: 'struct snd_soc_card' has no member named 'of_dapm_widgets'
    1656 |         card->of_dapm_widgets = widgets;
         |             ^~
   sound/soc/soc-card.c:1657:13: error: 'struct snd_soc_card' has no member named 'num_of_dapm_widgets'
    1657 |         card->num_of_dapm_widgets = num_widgets;
         |             ^~
   sound/soc/soc-card.c: In function 'snd_soc_card_of_parse_pin_switches':
   sound/soc/soc-card.c:1788:13: error: 'struct snd_soc_card' has no member named 'controls'
    1788 |         card->controls = controls;
         |             ^~
   sound/soc/soc-card.c:1789:13: error: 'struct snd_soc_card' has no member named 'num_controls'
    1789 |         card->num_controls = nb_controls;
         |             ^~
   sound/soc/soc-card.c: In function 'snd_soc_card_of_parse_audio_routing':
   sound/soc/soc-card.c:1886:13: error: 'struct snd_soc_card' has no member named 'num_of_dapm_routes'
    1886 |         card->num_of_dapm_routes = num_routes;
         |             ^~
   sound/soc/soc-card.c:1887:13: error: 'struct snd_soc_card' has no member named 'of_dapm_routes'
    1887 |         card->of_dapm_routes = routes;
         |             ^~
   sound/soc/soc-card.c: In function 'snd_soc_card_of_parse_aux_devs':
   sound/soc/soc-card.c:1946:13: error: 'struct snd_soc_card' has no member named 'aux_dev'
    1946 |         card->aux_dev = aux;
         |             ^~
   sound/soc/soc-card.c:1947:13: error: 'struct snd_soc_card' has no member named 'num_aux_devs'


vim +1125 sound/soc/soc-card.c

d192dd4abdd21a Kuninori Morimoto 2026-06-26  1011  
96b47be0838670 Kuninori Morimoto 2026-06-26  1012  int soc_card_bind(struct snd_soc_card *card)
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1013  {
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1014  	struct snd_soc_pcm_runtime *rtd;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1015  	struct snd_soc_component *component;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1016  	struct snd_soc_dapm_context *dapm = snd_soc_card_to_dapm(card);
fa417b021b0e61 Kuninori Morimoto 2026-06-18  1017  	struct snd_card *snd_card;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1018  	int ret;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1019  
e12c6b034d1d21 Kuninori Morimoto 2026-03-26  1020  	soc_card_mutex_lock_root(card);
96b47be0838670 Kuninori Morimoto 2026-06-26  1021  	soc_card_fill_dummy_dai(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1022  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1023  	snd_soc_dapm_init(dapm, card, NULL);
94c3e060a43641 Kuninori Morimoto 2026-05-27  1024  	list_del_init(&card->unbind_list);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1025  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1026  	/* check whether any platform is ignore machine FE and using topology */
96b47be0838670 Kuninori Morimoto 2026-06-26  1027  	soc_card_check_tplg_fes(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1028  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1029  	/* bind aux_devs too */
96b47be0838670 Kuninori Morimoto 2026-06-26  1030  	ret = soc_card_aux_bind(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1031  	if (ret < 0)
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1032  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1033  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1034  	/* add predefined DAI links to the list */
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1035  	card->num_rtd = 0;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1036  	ret = snd_soc_add_pcm_runtimes(card, card->dai_link, card->num_links);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1037  	if (ret < 0)
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1038  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1039  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1040  	/* card bind complete so register a sound card */
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1041  	ret = snd_card_new(card->dev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1,
fa417b021b0e61 Kuninori Morimoto 2026-06-18  1042  			   card->owner, 0, &snd_card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1043  	if (ret < 0) {
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1044  		dev_err(card->dev,
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1045  			"ASoC: can't create sound card for card %s: %d\n",
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1046  			card->name, ret);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1047  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1048  	}
fa417b021b0e61 Kuninori Morimoto 2026-06-18  1049  	card->snd_card = snd_card;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1050  
96b47be0838670 Kuninori Morimoto 2026-06-26  1051  	soc_card_debugfs_init(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1052  
96b47be0838670 Kuninori Morimoto 2026-06-26  1053  	soc_card_resume_init(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1054  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1055  	ret = snd_soc_dapm_new_controls(dapm, card->dapm_widgets,
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1056  					card->num_dapm_widgets);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1057  	if (ret < 0)
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1058  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1059  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1060  	ret = snd_soc_dapm_new_controls(dapm, card->of_dapm_widgets,
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1061  					card->num_of_dapm_widgets);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1062  	if (ret < 0)
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1063  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1064  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1065  	/* initialise the sound card only once */
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1066  	ret = snd_soc_card_probe(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1067  	if (ret < 0)
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1068  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1069  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1070  	/* probe all components used by DAI links on this card */
96b47be0838670 Kuninori Morimoto 2026-06-26  1071  	ret = soc_card_link_components_probe(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1072  	if (ret < 0) {
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1073  		if (ret != -EPROBE_DEFER) {
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1074  			dev_err(card->dev,
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1075  				"ASoC: failed to instantiate card %d\n", ret);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1076  		}
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1077  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1078  	}
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1079  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1080  	/* probe auxiliary components */
96b47be0838670 Kuninori Morimoto 2026-06-26  1081  	ret = soc_card_aux_probe(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1082  	if (ret < 0) {
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1083  		dev_err(card->dev,
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1084  			"ASoC: failed to probe aux component %d\n", ret);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1085  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1086  	}
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1087  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1088  	/* probe all DAI links on this card */
96b47be0838670 Kuninori Morimoto 2026-06-26  1089  	ret = soc_card_link_dais_probe(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1090  	if (ret < 0) {
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1091  		dev_err(card->dev,
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1092  			"ASoC: failed to instantiate card %d\n", ret);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1093  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1094  	}
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1095  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1096  	for_each_card_rtds(card, rtd) {
96b47be0838670 Kuninori Morimoto 2026-06-26  1097  		ret = soc_card_init_pcm_runtime(card, rtd);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1098  		if (ret < 0)
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1099  			goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1100  	}
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1101  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1102  	snd_soc_dapm_link_dai_widgets(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1103  	snd_soc_dapm_connect_dai_link_widgets(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1104  
35c6980018dd42 Kuninori Morimoto 2026-07-15  1105  	ret = snd_soc_card_add_controls(card, card->controls,
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1106  					card->num_controls);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1107  	if (ret < 0)
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1108  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1109  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1110  	ret = snd_soc_dapm_add_routes(dapm, card->dapm_routes,
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1111  				      card->num_dapm_routes);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1112  	if (ret < 0)
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1113  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1114  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1115  	ret = snd_soc_dapm_add_routes(dapm, card->of_dapm_routes,
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1116  				      card->num_of_dapm_routes);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1117  	if (ret < 0)
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1118  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1119  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1120  	/* try to set some sane longname if DMI is available */
96b47be0838670 Kuninori Morimoto 2026-06-26  1121  	soc_card_set_dmi_name(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1122  
fa417b021b0e61 Kuninori Morimoto 2026-06-18  1123  	soc_card_setup_name(card, snd_card->shortname,	card->name,		NULL);
fa417b021b0e61 Kuninori Morimoto 2026-06-18  1124  	soc_card_setup_name(card, snd_card->longname,	card->long_name,	card->name);
fa417b021b0e61 Kuninori Morimoto 2026-06-18 @1125  	soc_card_setup_name(card, snd_card->driver,	card->driver_name,	card->name);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1126  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1127  	if (card->components) {
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1128  		/* the current implementation of snd_component_add() accepts */
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1129  		/* multiple components in the string separated by space, */
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1130  		/* but the string collision (identical string) check might */
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1131  		/* not work correctly */
fa417b021b0e61 Kuninori Morimoto 2026-06-18  1132  		ret = snd_component_add(snd_card, card->components);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1133  		if (ret < 0) {
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1134  			dev_err(card->dev, "ASoC: %s snd_component_add() failed: %d\n",
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1135  				card->name, ret);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1136  			goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1137  		}
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1138  	}
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1139  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1140  	/*
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1141  	 * Add device_link from card to component so that system_suspend
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1142  	 * will be done in the correct order. The card must suspend first
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1143  	 * to stop audio activity before the components suspend.
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1144  	 *
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1145  	 * If a driver pair already have a link in the opposite direction
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1146  	 * they must manage their own suspend order.
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1147  	 */
9d967b4b5508f1 Kuninori Morimoto 2026-06-26  1148  	for_each_card_components(card, component)
9d967b4b5508f1 Kuninori Morimoto 2026-06-26  1149  		soc_component_device_link_add(component);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1150  
96b47be0838670 Kuninori Morimoto 2026-06-26  1151  	ret = soc_card_late_probe(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1152  	if (ret < 0)
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1153  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1154  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1155  	ret = snd_soc_dapm_ignore_suspend_widgets(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1156  	if (ret < 0)
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1157  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1158  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1159  	snd_soc_dapm_new_widgets(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1160  	snd_soc_card_fixup_controls(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1161  
fa417b021b0e61 Kuninori Morimoto 2026-06-18  1162  	ret = snd_card_register(snd_card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1163  	if (ret < 0) {
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1164  		dev_err(card->dev, "ASoC: failed to register soundcard %d\n",
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1165  			ret);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1166  		goto probe_end;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1167  	}
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1168  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1169  	card->instantiated = 1;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1170  	snd_soc_dapm_mark_endpoints_dirty(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1171  	snd_soc_dapm_sync(dapm);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1172  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1173  	/* deactivate pins to sleep state */
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1174  	for_each_card_components(card, component)
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1175  		if (!snd_soc_component_active(component))
35c6980018dd42 Kuninori Morimoto 2026-07-15  1176  			pinctrl_pm_select_sleep_state(snd_soc_component_to_dev(component));
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1177  probe_end:
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1178  	if (ret < 0) {
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1179  		snd_soc_remove_device_links(card);
96b47be0838670 Kuninori Morimoto 2026-06-26  1180  		soc_card_cleanup_resources(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1181  	}
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1182  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1183  	if (ret == -EPROBE_DEFER) {
94c3e060a43641 Kuninori Morimoto 2026-05-27  1184  		list_add(&card->unbind_list, &unbind_list_head);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1185  		ret = 0;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1186  	}
e12c6b034d1d21 Kuninori Morimoto 2026-03-26  1187  	soc_card_mutex_unlock(card);
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1188  
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1189  	return ret;
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1190  }
d192dd4abdd21a Kuninori Morimoto 2026-06-26  1191  

:::::: The code at line 1125 was first introduced by commit
:::::: fa417b021b0e61192d84c1869b0be85de553f6e6 ASoC: soc-card: use local struct snd_card variable

:::::: TO: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
:::::: CC: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

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

                 reply	other threads:[~2026-07-17  4:11 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=202607170603.6VjqqFUe-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kuninori.morimoto.gx@renesas.com \
    --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 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.