[PATCH v5 2/3] ASoC: tegra: Unify ASoC machine drivers
Dmitry Osipenko
digetx at gmail.com
Fri May 28 19:42:51 CEST 2021
28.05.2021 20:28, Dmitry Osipenko пишет:
> -static int tegra_wm9712_driver_probe(struct platform_device *pdev)
> -{
> - struct device_node *np = pdev->dev.of_node;
> - struct snd_soc_card *card = &snd_soc_tegra_wm9712;
> - struct tegra_wm9712 *machine;
> - int ret;
> -
> - machine = devm_kzalloc(&pdev->dev, sizeof(struct tegra_wm9712),
> - GFP_KERNEL);
> - if (!machine)
> - return -ENOMEM;
> -
> - card->dev = &pdev->dev;
> - snd_soc_card_set_drvdata(card, machine);
> -
> - machine->codec = platform_device_alloc("wm9712-codec", -1);
> - if (!machine->codec) {
> - dev_err(&pdev->dev, "Can't allocate wm9712 platform device\n");
> - return -ENOMEM;
> - }
> -
> - ret = platform_device_add(machine->codec);
> - if (ret)
> - goto codec_put;
> -
> - ret = snd_soc_of_parse_card_name(card, "nvidia,model");
> - if (ret)
> - goto codec_unregister;
> -
> - ret = snd_soc_of_parse_audio_routing(card, "nvidia,audio-routing");
> - if (ret)
> - goto codec_unregister;
> -
> - tegra_wm9712_dai.cpus->of_node = of_parse_phandle(np,
> - "nvidia,ac97-controller", 0);
> - if (!tegra_wm9712_dai.cpus->of_node) {
> - dev_err(&pdev->dev,
> - "Property 'nvidia,ac97-controller' missing or invalid\n");
> - ret = -EINVAL;
> - goto codec_unregister;
> - }
> -
> - tegra_wm9712_dai.platforms->of_node = tegra_wm9712_dai.cpus->of_node;
> -
> - ret = tegra_asoc_utils_init(&machine->util_data, &pdev->dev);
> - if (ret)
> - goto codec_unregister;
> -
> - ret = tegra_asoc_utils_set_ac97_rate(&machine->util_data);
> - if (ret)
> - goto codec_unregister;
I just noticed that this AC97 clk initialization is gone now for wm9712,
I'll fix it in v6.
More information about the Alsa-devel
mailing list