*参照元 [#b513edc6] #backlinks *説明 [#f7fc2af8] -パス: [[linux-4.4.1/sound/soc/soc-core.c]] -FIXME: これは何? --説明 **引数 [#l2fc6647] -struct device *dev -- --[[linux-4.4.1/device]] **返り値 [#jd9ef713] -なし **参考 [#lb3d6607] *実装 [#ba6235e4] /** * snd_soc_unregister_codec - Unregister a codec from the ASoC core * * @dev: codec to unregister */ void snd_soc_unregister_codec(struct device *dev) { struct snd_soc_codec *codec; - --[[linux-4.4.1/snd_soc_codec]] mutex_lock(&client_mutex); list_for_each_entry(codec, &codec_list, list) { if (dev == codec->dev) goto found; } mutex_unlock(&client_mutex); - --[[linux-4.4.1/mutex_lock()]] --[[linux-4.4.1/client_mutex(global)]] --[[linux-4.4.1/list_for_each_entry()]] --[[linux-4.4.1/codec_list(global)]] --[[linux-4.4.1/mutex_unlock()]] return; found: list_del(&codec->list); snd_soc_component_del_unlocked(&codec->component); mutex_unlock(&client_mutex); - --[[linux-4.4.1/list_dec()]] --[[linux-4.4.1/snd_soc_somponent_del_unlocked()]] dev_dbg(codec->dev, "ASoC: Unregistered codec '%s'\n", codec->component.name); - --[[linux-4.4.1/dev_dbg()]] snd_soc_component_cleanup(&codec->component); snd_soc_cache_exit(codec); kfree(codec); - --[[linux-4.4.1/snd_soc_component_cleanup()]] --[[linux-4.4.1/snd_soc_cache_exit()]] --[[linux-4.4.1/kfree()]] } EXPORT_SYMBOL_GPL(snd_soc_unregister_codec); - --[[linux-4.4.1/EXPORT_SYMBOL_GPL()]] *コメント [#j4d8b88f]