All of lore.kernel.org
 help / color / mirror / Atom feed
* [morimoto:sound-cleanup-2026-06-16 325/326] sound/soc/soc-card.c:1337:14: error: 'card_driver' undeclared
@ 2026-06-16 22:51 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-06-16 22:51 UTC (permalink / raw)
  To: Kuninori Morimoto; +Cc: oe-kbuild-all

tree:   https://github.com/morimoto/linux sound-cleanup-2026-06-16
head:   5ce50ac7d0a59c6fb15e1baa7e6824ac096fe092
commit: bcca3afbe4030eb595d239674303afc5fd051920 [325/326] ASoC: soc-card.h: remove compatible definition
config: x86_64-rhel-9.4 (https://download.01.org/0day-ci/archive/20260617/202606170015.orKXCupV-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/20260617/202606170015.orKXCupV-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/202606170015.orKXCupV-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

>> sound/soc/soc-card.c:42:6: warning: no previous prototype for 'snd_soc_card_attach_priv' [-Wmissing-prototypes]
      42 | void snd_soc_card_attach_priv(struct snd_soc_card *card, void *data)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/soc-card.c: In function 'snd_soc_card_remove':
   sound/soc/soc-card.c:886:27: error: 'struct snd_soc_card_driver' has no member named 'probed'; did you mean 'probe'?
     886 |         if (card->driver->probed &&
         |                           ^~~~~~
         |                           probe
   sound/soc/soc-card.c: At top level:
>> sound/soc/soc-card.c:1268:6: warning: no previous prototype for 'snd_soc_card_set_pci_ssid' [-Wmissing-prototypes]
    1268 | void snd_soc_card_set_pci_ssid(struct snd_soc_card *card,
         |      ^~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/soc-card.c: In function 'snd_soc_card_set_pci_ssid':
   sound/soc/soc-card.c:1272:13: error: 'struct snd_soc_card' has no member named 'pci_subsystem_vendor'
    1272 |         card->pci_subsystem_vendor = vendor;
         |             ^~
   sound/soc/soc-card.c:1273:13: error: 'struct snd_soc_card' has no member named 'pci_subsystem_device'
    1273 |         card->pci_subsystem_device = device;
         |             ^~
   sound/soc/soc-card.c:1274:13: error: 'struct snd_soc_card' has no member named 'pci_subsystem_set'
    1274 |         card->pci_subsystem_set = true;
         |             ^~
   sound/soc/soc-card.c: At top level:
>> sound/soc/soc-card.c:1293:5: warning: no previous prototype for 'snd_soc_card_get_pci_ssid' [-Wmissing-prototypes]
    1293 | int snd_soc_card_get_pci_ssid(struct snd_soc_card *card,
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/soc-card.c: In function 'snd_soc_card_get_pci_ssid':
   sound/soc/soc-card.c:1297:18: error: 'struct snd_soc_card' has no member named 'pci_subsystem_set'
    1297 |         if (!card->pci_subsystem_set)
         |                  ^~
   sound/soc/soc-card.c:1300:23: error: 'struct snd_soc_card' has no member named 'pci_subsystem_vendor'
    1300 |         *vendor = card->pci_subsystem_vendor;
         |                       ^~
   sound/soc/soc-card.c:1301:23: error: 'struct snd_soc_card' has no member named 'pci_subsystem_device'
    1301 |         *device = card->pci_subsystem_device;
         |                       ^~
   sound/soc/soc-card.c: In function 'snd_soc_card_register3':
>> sound/soc/soc-card.c:1337:14: error: 'card_driver' undeclared (first use in this function)
    1337 |         if (!card_driver->name)
         |              ^~~~~~~~~~~
   sound/soc/soc-card.c:1337:14: note: each undeclared identifier is reported only once for each function it appears in
>> sound/soc/soc-card.c:1351:24: error: returning 'int' from a function with return type 'struct snd_soc_card *' makes pointer from integer without a cast [-Wint-conversion]
    1351 |                 return -ENOMEM;
         |                        ^


vim +/card_driver +1337 sound/soc/soc-card.c

  1266	
  1267	/* REMOVE ME */
> 1268	void snd_soc_card_set_pci_ssid(struct snd_soc_card *card,
  1269				       unsigned short vendor,
  1270				       unsigned short device)
  1271	{
  1272		card->pci_subsystem_vendor = vendor;
  1273		card->pci_subsystem_device = device;
  1274		card->pci_subsystem_set = true;
  1275	}
  1276	EXPORT_SYMBOL_GPL(snd_soc_card_set_pci_ssid);
  1277	
  1278	int snd_soc_card_driver_get_pci_ssid(struct snd_soc_card_driver *card_driver,
  1279					     unsigned short *vendor,
  1280					     unsigned short *device)
  1281	{
  1282		if (!card_driver->pci_subsystem_set)
  1283			return -ENOENT;
  1284	
  1285		*vendor = card_driver->pci_subsystem_vendor;
  1286		*device = card_driver->pci_subsystem_device;
  1287	
  1288		return 0;
  1289	}
  1290	EXPORT_SYMBOL_GPL(snd_soc_card_driver_get_pci_ssid);
  1291	
  1292	/* REMOVE ME */
> 1293	int snd_soc_card_get_pci_ssid(struct snd_soc_card *card,
  1294				      unsigned short *vendor,
  1295				      unsigned short *device)
  1296	{
  1297		if (!card->pci_subsystem_set)
  1298			return -ENOENT;
  1299	
  1300		*vendor = card->pci_subsystem_vendor;
  1301		*device = card->pci_subsystem_device;
  1302	
  1303		return 0;
  1304	}
  1305	EXPORT_SYMBOL_GPL(snd_soc_card_get_pci_ssid);
  1306	#endif /* CONFIG_PCI */
  1307	
  1308	struct snd_soc_dai *snd_soc_card_get_codec_dai(struct snd_soc_card *card,
  1309						       const char *dai_name)
  1310	{
  1311		struct snd_soc_pcm_runtime *rtd;
  1312	
  1313		for_each_card_rtds(card, rtd) {
  1314			const struct snd_soc_dai *dai = snd_soc_rtd_to_codec(rtd, 0);
  1315	
  1316			if (!strcmp(snd_soc_dai_name(dai), dai_name))
  1317				return snd_soc_rtd_to_codec(rtd, 0);
  1318		}
  1319	
  1320		return NULL;
  1321	}
  1322	EXPORT_SYMBOL_GPL(snd_soc_card_get_codec_dai);
  1323	
  1324	void soc_card_flush_all_delayed_work(struct snd_soc_card *card)
  1325	{
  1326		struct snd_soc_pcm_runtime *rtd;
  1327	
  1328		for_each_card_rtds(card, rtd)
  1329			flush_delayed_work(&rtd->delayed_work);
  1330	}
  1331	
  1332	struct snd_soc_card *snd_soc_card_register3(struct device *dev, struct snd_soc_card_driver *driver, void *priv)
  1333	{
  1334		struct snd_soc_card *card;
  1335		int ret;
  1336	
> 1337		if (!card_driver->name)
  1338	
  1339		card = devm_kzalloc(dev, sizeof(*card), GFP_KERNEL);
  1340		if (!card)
  1341			return NULL;
  1342	
  1343		card->dev	= dev;
  1344		card->devres_dev = dev;
  1345		card->priv	= priv;
  1346		card->driver	= driver;
  1347		card->instantiated = 0;
  1348	
  1349		card->dapm = snd_soc_dapm_alloc(card->dev);
  1350		if (!card->dapm)
> 1351			return -ENOMEM;
  1352	
  1353		dev_set_drvdata(card->dev, card);
  1354	
  1355		INIT_LIST_HEAD(&card->widget_list_head);
  1356		INIT_LIST_HEAD(&card->path_list_head);
  1357		INIT_LIST_HEAD(&card->dapm_list_head);
  1358		INIT_LIST_HEAD(&card->dapm_dirty_list_head);
  1359		INIT_LIST_HEAD(&card->aux_list_head);
  1360		INIT_LIST_HEAD(&card->component_list_head);
  1361		INIT_LIST_HEAD(&card->unbind_list);
  1362		INIT_LIST_HEAD(&card->rtd_list_head);
  1363	
  1364		mutex_init(&card->mutex);
  1365		mutex_init(&card->dapm_mutex);
  1366		mutex_init(&card->pcm_mutex);
  1367	
  1368		guard(mutex)(&client_mutex);
  1369	
  1370		ret = call_soc_bind_card(card);
  1371		if (ret < 0)
  1372			return NULL;
  1373	
  1374		return card;
  1375	}
  1376	EXPORT_SYMBOL_GPL(snd_soc_card_register3);
  1377	

--
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-06-16 22:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-16 22:51 [morimoto:sound-cleanup-2026-06-16 325/326] sound/soc/soc-card.c:1337:14: error: 'card_driver' undeclared 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.