*参照元 [#a49c044f]
#backlinks

*説明 [#ve567a4c]
-パス: [[linux-2.6.33/sound/core/init.c]]

-FIXME: これは何?
--説明


**引数 [#k9951e6b]
-struct snd_card *card
--
--[[linux-2.6.33/snd_card]]


**返り値 [#icfa6473]
-int
--成功ならば 0、失敗ならば 0 以外。


**参考 [#yc1fd927]


*実装 [#s47ad4a6]
 /**
  *  snd_card_free - frees given soundcard structure
  *  @card: soundcard structure
  *
  *  This function releases the soundcard structure and the all assigned
  *  devices automatically.  That is, you don't have to release the devices
  *  by yourself.
  *
  *  Returns zero. Frees all associated devices and frees the control
  *  interface associated to given soundcard.
  */
 static int snd_card_do_free(struct snd_card *card)
 {
 #if defined(CONFIG_SND_MIXER_OSS) || defined(CONFIG_SND_MIXER_OSS_MODULE)
-
--[[linux-2.6.33/CONFIG_SND_MIXER_OSS]]
-
--[[linux-2.6.33/CONFIG_SND_MIXER_OSS_MODULE]]

 	if (snd_mixer_oss_notify_callback)
 		snd_mixer_oss_notify_callback(card, SND_MIXER_OSS_NOTIFY_FREE);
-
--[[linux-2.6.33/snd_mixer_oss_notify_callback(global)]]
-
--[[linux-2.6.33/SND_MIXER_OSS_NOTIFY_FREE]]

 #endif
 	if (snd_device_free_all(card, SNDRV_DEV_CMD_PRE) < 0) {
 		snd_printk(KERN_ERR "unable to free all devices (pre)\n");
 		/* Fatal, but this situation should never occur */
 	}
-
--[[linux-2.6.33/snd_device_free_all()]]
-
--[[linux-2.6.33/SNDRV_DEV_CMD_PRE]]
-
--[[linux-2.6.33/snd_printk()]]

 	if (snd_device_free_all(card, SNDRV_DEV_CMD_NORMAL) < 0) {
 		snd_printk(KERN_ERR "unable to free all devices (normal)\n");
 		/* Fatal, but this situation should never occur */
 	}
-
--[[linux-2.6.33/SNDRV_DEV_CMD_NORMAL]]

 	if (snd_device_free_all(card, SNDRV_DEV_CMD_POST) < 0) {
 		snd_printk(KERN_ERR "unable to free all devices (post)\n");
 		/* Fatal, but this situation should never occur */
 	}
-
--[[linux-2.6.33/SNDRV_DEV_CMD_POST]]

 	if (card->private_free)
 		card->private_free(card);
 	snd_info_free_entry(card->proc_id);
 	if (snd_info_card_free(card) < 0) {
 		snd_printk(KERN_WARNING "unable to free card info\n");
 		/* Not fatal error */
 	}
 	kfree(card);
-
--[[linux-2.6.33/snd_info_free_entry()]]
-
--[[linux-2.6.33/snd_info_card_free()]]
-
--[[linux-2.6.33/kfree()]]

 	return 0;
 }


*コメント [#rd434b61]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS