Skip to content

Commit

Permalink
ASoC: smdk_wm8994: Convert to use snd_soc_register_card()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Sachin Kamat authored and Mark Brown committed Jul 3, 2012
1 parent 8a72071 commit 9c9acc9
Showing 1 changed file with 23 additions and 13 deletions.
36 changes: 23 additions & 13 deletions sound/soc/samsung/smdk_wm8994.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");

0 comments on commit 9c9acc9

Please sign in to comment.