linux-4.4.1/soc_bind_dai_link()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#p7411447]
#backlinks
*説明 [#k5aca460]
-パス: [[linux-4.4.1/sound/soc/soc-core.c]]
-FIXME: これは何?
--説明
**引数 [#pa3d3b86]
-struct snd_soc_card *card
--
--[[linux-4.4.1/snd_soc_card]]
-int num
--
**返り値 [#wfd9858d]
-int
--
**参考 [#pc5dc658]
*実装 [#v567e552]
static int soc_bind_dai_link(struct snd_soc_card *card, ...
{
struct snd_soc_dai_link *dai_link = &card->dai_l...
struct snd_soc_pcm_runtime *rtd = &card->rtd[num];
struct snd_soc_dai_link_component *codecs = dai_...
struct snd_soc_dai_link_component cpu_dai_compon...
struct snd_soc_dai **codec_dais = rtd->codec_dais;
struct snd_soc_platform *platform;
const char *platform_name;
int i;
-
--[[linux-4.4.1/snd_soc_dai_link]]
--[[linux-4.4.1/snd_soc_pcm_runtime]]
--[[linux-4.4.1/snd_soc_dai_link_component]]
--[[linux-4.4.1/snd_soc_dai]]
--[[linux-4.4.1/snd_soc_platform]]
dev_dbg(card->dev, "ASoC: binding %s at idx %d\n...
-
--[[linux-4.4.1/dev_dbg()]]
cpu_dai_component.name = dai_link->cpu_name;
cpu_dai_component.of_node = dai_link->cpu_of_node;
cpu_dai_component.dai_name = dai_link->cpu_dai_n...
rtd->cpu_dai = snd_soc_find_dai(&cpu_dai_compone...
if (!rtd->cpu_dai) {
dev_err(card->dev, "ASoC: CPU DAI %s not...
dai_link->cpu_dai_name);
return -EPROBE_DEFER;
}
-
--[[linux-4.4.1/snd_soc_find_dai()]]
rtd->num_codecs = dai_link->num_codecs;
/* Find CODEC from registered CODECs */
for (i = 0; i < rtd->num_codecs; i++) {
codec_dais[i] = snd_soc_find_dai(&codecs...
if (!codec_dais[i]) {
dev_err(card->dev, "ASoC: CODEC ...
codecs[i].dai_name);
return -EPROBE_DEFER;
}
}
/* Single codec links expect codec and codec_dai...
rtd->codec_dai = codec_dais[0];
rtd->codec = rtd->codec_dai->codec;
/* if there's no platform we match on the empty ...
platform_name = dai_link->platform_name;
if (!platform_name && !dai_link->platform_of_node)
platform_name = "snd-soc-dummy";
/* find one from the set of registered platforms...
list_for_each_entry(platform, &platform_list, li...
if (dai_link->platform_of_node) {
if (platform->dev->of_node !=
dai_link->platform_of_node)
continue;
} else {
if (strcmp(platform->component.n...
continue;
}
rtd->platform = platform;
}
-
--[[linux-4.4.1/list_for_each_entry()]]
--[[linux-4.4.1/strcmp()]]
--[[linux-4.4.1/platform_list(global)]]
if (!rtd->platform) {
dev_err(card->dev, "ASoC: platform %s no...
dai_link->platform_name);
return -EPROBE_DEFER;
}
card->num_rtd++;
return 0;
}
*コメント [#k3a1791d]
終了行:
*参照元 [#p7411447]
#backlinks
*説明 [#k5aca460]
-パス: [[linux-4.4.1/sound/soc/soc-core.c]]
-FIXME: これは何?
--説明
**引数 [#pa3d3b86]
-struct snd_soc_card *card
--
--[[linux-4.4.1/snd_soc_card]]
-int num
--
**返り値 [#wfd9858d]
-int
--
**参考 [#pc5dc658]
*実装 [#v567e552]
static int soc_bind_dai_link(struct snd_soc_card *card, ...
{
struct snd_soc_dai_link *dai_link = &card->dai_l...
struct snd_soc_pcm_runtime *rtd = &card->rtd[num];
struct snd_soc_dai_link_component *codecs = dai_...
struct snd_soc_dai_link_component cpu_dai_compon...
struct snd_soc_dai **codec_dais = rtd->codec_dais;
struct snd_soc_platform *platform;
const char *platform_name;
int i;
-
--[[linux-4.4.1/snd_soc_dai_link]]
--[[linux-4.4.1/snd_soc_pcm_runtime]]
--[[linux-4.4.1/snd_soc_dai_link_component]]
--[[linux-4.4.1/snd_soc_dai]]
--[[linux-4.4.1/snd_soc_platform]]
dev_dbg(card->dev, "ASoC: binding %s at idx %d\n...
-
--[[linux-4.4.1/dev_dbg()]]
cpu_dai_component.name = dai_link->cpu_name;
cpu_dai_component.of_node = dai_link->cpu_of_node;
cpu_dai_component.dai_name = dai_link->cpu_dai_n...
rtd->cpu_dai = snd_soc_find_dai(&cpu_dai_compone...
if (!rtd->cpu_dai) {
dev_err(card->dev, "ASoC: CPU DAI %s not...
dai_link->cpu_dai_name);
return -EPROBE_DEFER;
}
-
--[[linux-4.4.1/snd_soc_find_dai()]]
rtd->num_codecs = dai_link->num_codecs;
/* Find CODEC from registered CODECs */
for (i = 0; i < rtd->num_codecs; i++) {
codec_dais[i] = snd_soc_find_dai(&codecs...
if (!codec_dais[i]) {
dev_err(card->dev, "ASoC: CODEC ...
codecs[i].dai_name);
return -EPROBE_DEFER;
}
}
/* Single codec links expect codec and codec_dai...
rtd->codec_dai = codec_dais[0];
rtd->codec = rtd->codec_dai->codec;
/* if there's no platform we match on the empty ...
platform_name = dai_link->platform_name;
if (!platform_name && !dai_link->platform_of_node)
platform_name = "snd-soc-dummy";
/* find one from the set of registered platforms...
list_for_each_entry(platform, &platform_list, li...
if (dai_link->platform_of_node) {
if (platform->dev->of_node !=
dai_link->platform_of_node)
continue;
} else {
if (strcmp(platform->component.n...
continue;
}
rtd->platform = platform;
}
-
--[[linux-4.4.1/list_for_each_entry()]]
--[[linux-4.4.1/strcmp()]]
--[[linux-4.4.1/platform_list(global)]]
if (!rtd->platform) {
dev_err(card->dev, "ASoC: platform %s no...
dai_link->platform_name);
return -EPROBE_DEFER;
}
card->num_rtd++;
return 0;
}
*コメント [#k3a1791d]
ページ名: