On 23/05/2023 04:19, Trevor Wu wrote:
card_data = (struct mt8188_card_data *)of_device_get_match_data(&pdev->dev); @@ -776,9 +1066,38 @@ static int mt8188_mt6359_dev_probe(struct platform_device *pdev) dai_link->init = mt8188_mt6359_init; init_mt6359 = true; }
} else if (strcmp(dai_link->name, "ETDM1_OUT_BE") == 0 ||
strcmp(dai_link->name, "ETDM2_OUT_BE") == 0 ||
strcmp(dai_link->name, "ETDM1_IN_BE") == 0 ||
strcmp(dai_link->name, "ETDM2_IN_BE") == 0) {
if (!strcmp(dai_link->codecs->dai_name, MAX98390_CODEC_DAI)) {
dai_link->ops = &mt8188_max98390_ops;
if (init_max98390)
continue;
I prefer that you do like your patch [PATCH v2 1/7] to be consistent and easy to read.
+ if (!init_mt6359) { + dai_link->init = mt8188_mt6359_init; + init_mt6359 = true; + }
dai_link->init = mt8188_max98390_codec_init;
init_max98390 = true;
} else if (!strcmp(dai_link->codecs->dai_name, NAU8825_CODEC_DAI)) {
dai_link->ops = &mt8188_nau8825_ops;
if (init_nau8825)
continue;
ditto
dai_link->init = mt8188_nau8825_codec_init;
dai_link->exit = mt8188_nau8825_codec_exit;
init_nau8825 = true;
} else {
if (strcmp(dai_link->codecs->dai_name, "snd-soc-dummy-dai")) {
Shouldn't be with a NOT operator ("!") ? + if (!strcmp(dai_link->codecs->dai_name, "snd-soc-dummy-dai")) {
if (init_dumb)
continue;
ditto
dai_link->init = mt8188_dumb_amp_init;
init_dumb = true;
}
}
} }
priv->private_data = card_data; snd_soc_card_set_drvdata(card, priv);
ret = devm_snd_soc_register_card(&pdev->dev, card);
@@ -795,11 +1114,20 @@ static struct mt8188_card_data mt8188_evb_card = { .name = "mt8188_mt6359", };
+static struct mt8188_card_data mt8188_nau8825_card = {
- .name = "mt8188_nau8825",
- .quirk = NAU8825_HS_PRESENT,
+};
- static const struct of_device_id mt8188_mt6359_dt_match[] = { { .compatible = "mediatek,mt8188-mt6359-evb", .data = &mt8188_evb_card, },
- {
.compatible = "mediatek,mt8188-nau8825",
.data = &mt8188_nau8825_card,
- }, {}, }; MODULE_DEVICE_TABLE(of, mt8188_mt6359_dt_match);