snow.c (4f2c0a4acffbec01079c28f839422e64ddeff004) snow.c (3224f4407d67c9504d9c779ebe79cd90be887cec)
1// SPDX-License-Identifier: GPL-2.0
2//
3// ASoC machine driver for Snow boards
4
5#include <linux/clk.h>
6#include <linux/module.h>
7#include <linux/platform_device.h>
8#include <linux/of.h>

--- 205 unchanged lines hidden (view full) ---

214 ret = devm_snd_soc_register_card(dev, card);
215 if (ret)
216 return dev_err_probe(&pdev->dev, ret,
217 "snd_soc_register_card failed\n");
218
219 return 0;
220}
221
1// SPDX-License-Identifier: GPL-2.0
2//
3// ASoC machine driver for Snow boards
4
5#include <linux/clk.h>
6#include <linux/module.h>
7#include <linux/platform_device.h>
8#include <linux/of.h>

--- 205 unchanged lines hidden (view full) ---

214 ret = devm_snd_soc_register_card(dev, card);
215 if (ret)
216 return dev_err_probe(&pdev->dev, ret,
217 "snd_soc_register_card failed\n");
218
219 return 0;
220}
221
222static int snow_remove(struct platform_device *pdev)
222static void snow_remove(struct platform_device *pdev)
223{
224 struct snow_priv *priv = platform_get_drvdata(pdev);
225 struct snd_soc_dai_link *link = &priv->dai_link;
226
227 of_node_put(link->cpus->of_node);
228 of_node_put(link->codecs->of_node);
229 snd_soc_of_put_dai_link_codecs(link);
230
231 clk_put(priv->clk_i2s_bus);
223{
224 struct snow_priv *priv = platform_get_drvdata(pdev);
225 struct snd_soc_dai_link *link = &priv->dai_link;
226
227 of_node_put(link->cpus->of_node);
228 of_node_put(link->codecs->of_node);
229 snd_soc_of_put_dai_link_codecs(link);
230
231 clk_put(priv->clk_i2s_bus);
232
233 return 0;
234}
235
236static const struct of_device_id snow_of_match[] = {
237 { .compatible = "google,snow-audio-max98090", },
238 { .compatible = "google,snow-audio-max98091", },
239 { .compatible = "google,snow-audio-max98095", },
240 {},
241};
242MODULE_DEVICE_TABLE(of, snow_of_match);
243
244static struct platform_driver snow_driver = {
245 .driver = {
246 .name = "snow-audio",
247 .pm = &snd_soc_pm_ops,
248 .of_match_table = snow_of_match,
249 },
250 .probe = snow_probe,
232}
233
234static const struct of_device_id snow_of_match[] = {
235 { .compatible = "google,snow-audio-max98090", },
236 { .compatible = "google,snow-audio-max98091", },
237 { .compatible = "google,snow-audio-max98095", },
238 {},
239};
240MODULE_DEVICE_TABLE(of, snow_of_match);
241
242static struct platform_driver snow_driver = {
243 .driver = {
244 .name = "snow-audio",
245 .pm = &snd_soc_pm_ops,
246 .of_match_table = snow_of_match,
247 },
248 .probe = snow_probe,
251 .remove = snow_remove,
249 .remove_new = snow_remove,
252};
253
254module_platform_driver(snow_driver);
255
256MODULE_DESCRIPTION("ALSA SoC Audio machine driver for Snow");
257MODULE_LICENSE("GPL");
250};
251
252module_platform_driver(snow_driver);
253
254MODULE_DESCRIPTION("ALSA SoC Audio machine driver for Snow");
255MODULE_LICENSE("GPL");