forked from Minki/linux
ASoC: smdk_wm8994: Convert to use snd_soc_register_card()
Current method for machine driver to register with the ASoC core is to use snd_soc_register_card() instead of creating a "soc-audio" platform device. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Sangbeom Kim <sbkim73@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
8a720718b3
commit
9c9acc9156
@ -149,31 +149,41 @@ static struct snd_soc_card smdk = {
|
||||
.num_links = ARRAY_SIZE(smdk_dai),
|
||||
};
|
||||
|
||||
static struct platform_device *smdk_snd_device;
|
||||
|
||||
static int __init smdk_audio_init(void)
|
||||
static int __devinit smdk_audio_probe(struct platform_device *pdev)
|
||||
{
|
||||
int ret;
|
||||
struct snd_soc_card *card = &smdk;
|
||||
|
||||
smdk_snd_device = platform_device_alloc("soc-audio", -1);
|
||||
if (!smdk_snd_device)
|
||||
return -ENOMEM;
|
||||
card->dev = &pdev->dev;
|
||||
ret = snd_soc_register_card(card);
|
||||
|
||||
platform_set_drvdata(smdk_snd_device, &smdk);
|
||||
|
||||
ret = platform_device_add(smdk_snd_device);
|
||||
if (ret)
|
||||
platform_device_put(smdk_snd_device);
|
||||
dev_err(&pdev->dev, "snd_soc_register_card() failed:%d\n", ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
module_init(smdk_audio_init);
|
||||
|
||||
static void __exit smdk_audio_exit(void)
|
||||
static int __devexit smdk_audio_remove(struct platform_device *pdev)
|
||||
{
|
||||
platform_device_unregister(smdk_snd_device);
|
||||
struct snd_soc_card *card = platform_get_drvdata(pdev);
|
||||
|
||||
snd_soc_unregister_card(card);
|
||||
|
||||
return 0;
|
||||
}
|
||||
module_exit(smdk_audio_exit);
|
||||
|
||||
static struct platform_driver smdk_audio_driver = {
|
||||
.driver = {
|
||||
.name = "smdk-audio",
|
||||
.owner = THIS_MODULE,
|
||||
},
|
||||
.probe = smdk_audio_probe,
|
||||
.remove = __devexit_p(smdk_audio_remove),
|
||||
};
|
||||
|
||||
module_platform_driver(smdk_audio_driver);
|
||||
|
||||
MODULE_DESCRIPTION("ALSA SoC SMDK WM8994");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_ALIAS("platform:smdk-audio");
|
||||
|
Loading…
Reference in New Issue
Block a user