33 #include <linux/module.h>
35 #include <linux/slab.h>
45 #include "../codecs/wm8753.h"
49 #define DRV_NAME "tegra-snd-wm8753"
81 dev_err(card->
dev,
"Can't configure clocks\n");
88 dev_err(card->
dev,
"codec_dai clock not set\n");
96 .hw_params = tegra_wm8753_hw_params,
106 .stream_name =
"WM8753 PCM",
107 .codec_dai_name =
"wm8753-hifi",
108 .ops = &tegra_wm8753_ops,
115 .name =
"tegra-wm8753",
117 .dai_link = &tegra_wm8753_dai,
120 .dapm_widgets = tegra_wm8753_dapm_widgets,
121 .num_dapm_widgets =
ARRAY_SIZE(tegra_wm8753_dapm_widgets),
122 .fully_routed =
true,
134 dev_err(&pdev->
dev,
"Can't allocate tegra_wm8753 struct\n");
140 platform_set_drvdata(pdev, card);
141 snd_soc_card_set_drvdata(card, machine);
152 pdev->
dev.of_node,
"nvidia,audio-codec", 0);
155 "Property 'nvidia,audio-codec' missing or invalid\n");
161 pdev->
dev.of_node,
"nvidia,i2s-controller", 0);
164 "Property 'nvidia,i2s-controller' missing or invalid\n");
178 dev_err(&pdev->
dev,
"snd_soc_register_card failed (%d)\n",
194 struct tegra_wm8753 *machine = snd_soc_card_get_drvdata(card);
204 { .compatible =
"nvidia,tegra-audio-wm8753", },
213 .of_match_table = tegra_wm8753_of_match,
215 .probe = tegra_wm8753_driver_probe,