On 26/02/2024 15:01, amergnat@baylibre.com wrote:
From: Nicolas Belin nbelin@baylibre.com
Add a specific soundcard for mt8365-evk. It supports audio jack in/out, dmics, the amic and lineout.
Signed-off-by: Nicolas Belin nbelin@baylibre.com Signed-off-by: Alexandre Mergnat amergnat@baylibre.com
...
+static int mt8365_mt6357_dev_probe(struct platform_device *pdev) +{
- struct snd_soc_card *card = &mt8365_mt6357_card;
- struct device *dev = &pdev->dev;
- struct device_node *platform_node;
- struct mt8365_mt6357_priv *priv;
- int i, ret;
- card->dev = dev;
- ret = parse_dai_link_info(card);
- if (ret)
goto err;
- platform_node = of_parse_phandle(dev->of_node, "mediatek,platform", 0);
- if (!platform_node) {
dev_err(dev, "Property 'platform' missing or invalid\n");
return -EINVAL;
- }
- for (i = 0; i < card->num_links; i++) {
if (mt8365_mt6357_dais[i].platforms->name)
continue;
mt8365_mt6357_dais[i].platforms->of_node = platform_node;
- }
- priv = devm_kzalloc(dev, sizeof(struct mt8365_mt6357_priv),
GFP_KERNEL);
- if (!priv) {
ret = -ENOMEM;
dev_err(dev, "%s allocate card private data fail %d\n",
__func__, ret);
Don't print anything on memory allocations failures.
Run coccinelle/coccicheck to detect such trivial issues.
return ret;
- }
- snd_soc_card_set_drvdata(card, priv);
- mt8365_mt6357_gpio_probe(card);
- ret = devm_snd_soc_register_card(dev, card);
- if (ret)
dev_err(dev, "%s snd_soc_register_card fail %d\n",
__func__, ret);
+err:
- of_node_put(platform_node);
- clean_card_reference(card);
- return ret;
+}
+static const struct of_device_id mt8365_mt6357_dt_match[] = {
- { .compatible = "mediatek,mt8365-mt6357", },
- { }
+}; +MODULE_DEVICE_TABLE(of, mt8365_mt6357_dt_match);
+static struct platform_driver mt8365_mt6357_driver = {
- .driver = {
.name = "mt8365_mt6357",
.of_match_table = mt8365_mt6357_dt_match,
.pm = &snd_soc_pm_ops,
- },
- .probe = mt8365_mt6357_dev_probe,
+};
+module_platform_driver(mt8365_mt6357_driver);
+/* Module information */ +MODULE_DESCRIPTION("MT8365 EVK SoC machine driver"); +MODULE_AUTHOR("Nicolas Belin nbelin@baylibre.com"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("mt8365 mt6357 soc card");
This does not look like correct alias. Drop.
Best regards, Krzysztof
linaro-mm-sig@lists.linaro.org