diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2012-07-03 04:34:04 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-07-03 14:48:29 -0400 |
commit | 9c9acc91561221c30a530c9b84056609d0307c7c (patch) | |
tree | cb83e887a2b7061074e86f7e5d6d5a058101be27 /sound/soc/samsung/smdk_wm8994.c | |
parent | 8a720718b37d00cf8ab311902705ae7c7890bb95 (diff) |
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>
Diffstat (limited to 'sound/soc/samsung/smdk_wm8994.c')
-rw-r--r-- | sound/soc/samsung/smdk_wm8994.c | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/sound/soc/samsung/smdk_wm8994.c b/sound/soc/samsung/smdk_wm8994.c index 8eb309f23d18..48dd4dd9ee08 100644 --- a/sound/soc/samsung/smdk_wm8994.c +++ b/sound/soc/samsung/smdk_wm8994.c | |||
@@ -149,31 +149,41 @@ static struct snd_soc_card smdk = { | |||
149 | .num_links = ARRAY_SIZE(smdk_dai), | 149 | .num_links = ARRAY_SIZE(smdk_dai), |
150 | }; | 150 | }; |
151 | 151 | ||
152 | static struct platform_device *smdk_snd_device; | ||
153 | 152 | ||
154 | static int __init smdk_audio_init(void) | 153 | static int __devinit smdk_audio_probe(struct platform_device *pdev) |
155 | { | 154 | { |
156 | int ret; | 155 | int ret; |
156 | struct snd_soc_card *card = &smdk; | ||
157 | 157 | ||
158 | smdk_snd_device = platform_device_alloc("soc-audio", -1); | 158 | card->dev = &pdev->dev; |
159 | if (!smdk_snd_device) | 159 | ret = snd_soc_register_card(card); |
160 | return -ENOMEM; | ||
161 | 160 | ||
162 | platform_set_drvdata(smdk_snd_device, &smdk); | ||
163 | |||
164 | ret = platform_device_add(smdk_snd_device); | ||
165 | if (ret) | 161 | if (ret) |
166 | platform_device_put(smdk_snd_device); | 162 | dev_err(&pdev->dev, "snd_soc_register_card() failed:%d\n", ret); |
167 | 163 | ||
168 | return ret; | 164 | return ret; |
169 | } | 165 | } |
170 | module_init(smdk_audio_init); | ||
171 | 166 | ||
172 | static void __exit smdk_audio_exit(void) | 167 | static int __devexit smdk_audio_remove(struct platform_device *pdev) |
173 | { | 168 | { |
174 | platform_device_unregister(smdk_snd_device); | 169 | struct snd_soc_card *card = platform_get_drvdata(pdev); |
170 | |||
171 | snd_soc_unregister_card(card); | ||
172 | |||
173 | return 0; | ||
175 | } | 174 | } |
176 | module_exit(smdk_audio_exit); | 175 | |
176 | static struct platform_driver smdk_audio_driver = { | ||
177 | .driver = { | ||
178 | .name = "smdk-audio", | ||
179 | .owner = THIS_MODULE, | ||
180 | }, | ||
181 | .probe = smdk_audio_probe, | ||
182 | .remove = __devexit_p(smdk_audio_remove), | ||
183 | }; | ||
184 | |||
185 | module_platform_driver(smdk_audio_driver); | ||
177 | 186 | ||
178 | MODULE_DESCRIPTION("ALSA SoC SMDK WM8994"); | 187 | MODULE_DESCRIPTION("ALSA SoC SMDK WM8994"); |
179 | MODULE_LICENSE("GPL"); | 188 | MODULE_LICENSE("GPL"); |
189 | MODULE_ALIAS("platform:smdk-audio"); | ||