summaryrefslogtreecommitdiff
path: root/sound/soc/mediatek/mt6797/mt6797-dai-adda.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2018-08-09 16:47:05 +0300
committerMark Brown <broonie@kernel.org>2018-08-09 16:47:05 +0300
commit4aa5db22d35588e1a5d2ee88472348ea73d9fb23 (patch)
tree67c98488983a71305e24940930d6e27a96d54db2 /sound/soc/mediatek/mt6797/mt6797-dai-adda.c
parent6c084839877666d987ff8bc4e0facd3c02d99d61 (diff)
parentf2cf0ef7c0ce141bb38f315c34c56e6ef5667a27 (diff)
downloadlinux-4aa5db22d35588e1a5d2ee88472348ea73d9fb23.tar.xz
Merge branch 'asoc-4.19' into asoc-next
Diffstat (limited to 'sound/soc/mediatek/mt6797/mt6797-dai-adda.c')
-rw-r--r--sound/soc/mediatek/mt6797/mt6797-dai-adda.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/sound/soc/mediatek/mt6797/mt6797-dai-adda.c b/sound/soc/mediatek/mt6797/mt6797-dai-adda.c
index ad083265ce94..0ac6409c6d61 100644
--- a/sound/soc/mediatek/mt6797/mt6797-dai-adda.c
+++ b/sound/soc/mediatek/mt6797/mt6797-dai-adda.c
@@ -383,14 +383,20 @@ static struct snd_soc_dai_driver mtk_dai_adda_driver[] = {
int mt6797_dai_adda_register(struct mtk_base_afe *afe)
{
- int id = MT6797_DAI_ADDA;
+ struct mtk_base_afe_dai *dai;
- afe->sub_dais[id].dai_drivers = mtk_dai_adda_driver;
- afe->sub_dais[id].num_dai_drivers = ARRAY_SIZE(mtk_dai_adda_driver);
+ dai = devm_kzalloc(afe->dev, sizeof(*dai), GFP_KERNEL);
+ if (!dai)
+ return -ENOMEM;
- afe->sub_dais[id].dapm_widgets = mtk_dai_adda_widgets;
- afe->sub_dais[id].num_dapm_widgets = ARRAY_SIZE(mtk_dai_adda_widgets);
- afe->sub_dais[id].dapm_routes = mtk_dai_adda_routes;
- afe->sub_dais[id].num_dapm_routes = ARRAY_SIZE(mtk_dai_adda_routes);
+ list_add(&dai->list, &afe->sub_dais);
+
+ dai->dai_drivers = mtk_dai_adda_driver;
+ dai->num_dai_drivers = ARRAY_SIZE(mtk_dai_adda_driver);
+
+ dai->dapm_widgets = mtk_dai_adda_widgets;
+ dai->num_dapm_widgets = ARRAY_SIZE(mtk_dai_adda_widgets);
+ dai->dapm_routes = mtk_dai_adda_routes;
+ dai->num_dapm_routes = ARRAY_SIZE(mtk_dai_adda_routes);
return 0;
}