aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/kirkwood/kirkwood-t5325.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2011-12-28 07:30:15 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-02-07 14:40:52 -0500
commit49915a54f0dceeff15a5d008dc9ce7a1d25f2a98 (patch)
tree09fc0ae92c4472554fab651598f7c9fc80a2b7cf /sound/soc/kirkwood/kirkwood-t5325.c
parentdc9c745437fc0d3ce7b2bd71594ea5ac48187f26 (diff)
ASoC: Convert kirkwood-t5325 to use snd_soc_register_card()
Use snd_soc_register_card() instead of creating a "soc-audio" platform device. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/kirkwood/kirkwood-t5325.c')
-rw-r--r--sound/soc/kirkwood/kirkwood-t5325.c47
1 files changed, 24 insertions, 23 deletions
diff --git a/sound/soc/kirkwood/kirkwood-t5325.c b/sound/soc/kirkwood/kirkwood-t5325.c
index b47cc4e9b746..f8983635f7ef 100644
--- a/sound/soc/kirkwood/kirkwood-t5325.c
+++ b/sound/soc/kirkwood/kirkwood-t5325.c
@@ -80,7 +80,6 @@ static struct snd_soc_dai_link t5325_dai[] = {
80}, 80},
81}; 81};
82 82
83
84static struct snd_soc_card t5325 = { 83static struct snd_soc_card t5325 = {
85 .name = "t5325", 84 .name = "t5325",
86 .owner = THIS_MODULE, 85 .owner = THIS_MODULE,
@@ -93,38 +92,40 @@ static struct snd_soc_card t5325 = {
93 .num_dapm_routes = ARRAY_SIZE(t5325_route), 92 .num_dapm_routes = ARRAY_SIZE(t5325_route),
94}; 93};
95 94
96static struct platform_device *t5325_snd_device; 95static int __devinit t5325_probe(struct platform_device *pdev)
97
98static int __init t5325_init(void)
99{ 96{
97 struct snd_soc_card *card = &t5325;
100 int ret; 98 int ret;
101 99
102 if (!machine_is_t5325()) 100 card->dev = &pdev->dev;
103 return 0;
104
105 t5325_snd_device = platform_device_alloc("soc-audio", -1);
106 if (!t5325_snd_device)
107 return -ENOMEM;
108
109 platform_set_drvdata(t5325_snd_device,
110 &t5325);
111
112 ret = platform_device_add(t5325_snd_device);
113 if (ret) {
114 printk(KERN_ERR "%s: platform_device_add failed\n", __func__);
115 platform_device_put(t5325_snd_device);
116 }
117 101
102 ret = snd_soc_register_card(card);
103 if (ret)
104 dev_err(&pdev->dev, "snd_soc_register_card() failed: %d\n",
105 ret);
118 return ret; 106 return ret;
119} 107}
120module_init(t5325_init);
121 108
122static void __exit t5325_exit(void) 109static int __devexit t5325_remove(struct platform_device *pdev)
123{ 110{
124 platform_device_unregister(t5325_snd_device); 111 struct snd_soc_card *card = platform_get_drvdata(pdev);
112
113 snd_soc_unregister_card(card);
114 return 0;
125} 115}
126module_exit(t5325_exit); 116
117static struct platform_driver t5325_driver = {
118 .driver = {
119 .name = "t5325-audio",
120 .owner = THIS_MODULE,
121 },
122 .probe = t5325_probe,
123 .remove = __devexit_p(t5325_remove),
124};
125
126module_platform_driver(t5325_driver);
127 127
128MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>"); 128MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>");
129MODULE_DESCRIPTION("ALSA SoC t5325 audio client"); 129MODULE_DESCRIPTION("ALSA SoC t5325 audio client");
130MODULE_LICENSE("GPL"); 130MODULE_LICENSE("GPL");
131MODULE_ALIAS("platform:t5325-audio");