diff options
author | Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 2014-10-24 13:50:05 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2014-10-27 20:42:57 -0400 |
commit | ecf0015161b2220879fcd41c030761b4eb561b95 (patch) | |
tree | ceb5192bec31cb60473e83202d4b5778966fa014 /sound/soc/pxa/spitz.c | |
parent | 728384a10b673dbd9819b524852df23142ee2fdd (diff) |
ASoC: pxa: Convert spitz to use snd_soc_register_card()
Use snd_soc_register_card() instead of creating a "soc-audio" platform device.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/pxa/spitz.c')
-rw-r--r-- | sound/soc/pxa/spitz.c | 52 |
1 files changed, 28 insertions, 24 deletions
diff --git a/sound/soc/pxa/spitz.c b/sound/soc/pxa/spitz.c index 1373b017a951..d7d5fb20ea6f 100644 --- a/sound/soc/pxa/spitz.c +++ b/sound/soc/pxa/spitz.c | |||
@@ -305,19 +305,15 @@ static struct snd_soc_card snd_soc_spitz = { | |||
305 | .num_dapm_routes = ARRAY_SIZE(spitz_audio_map), | 305 | .num_dapm_routes = ARRAY_SIZE(spitz_audio_map), |
306 | }; | 306 | }; |
307 | 307 | ||
308 | static struct platform_device *spitz_snd_device; | 308 | static int spitz_probe(struct platform_device *pdev) |
309 | |||
310 | static int __init spitz_init(void) | ||
311 | { | 309 | { |
310 | struct snd_soc_card *card = &snd_soc_spitz; | ||
312 | int ret; | 311 | int ret; |
313 | 312 | ||
314 | if (!(machine_is_spitz() || machine_is_borzoi() || machine_is_akita())) | 313 | if (machine_is_akita()) |
315 | return -ENODEV; | ||
316 | |||
317 | if (machine_is_borzoi() || machine_is_spitz()) | ||
318 | spitz_mic_gpio = SPITZ_GPIO_MIC_BIAS; | ||
319 | else | ||
320 | spitz_mic_gpio = AKITA_GPIO_MIC_BIAS; | 314 | spitz_mic_gpio = AKITA_GPIO_MIC_BIAS; |
315 | else | ||
316 | spitz_mic_gpio = SPITZ_GPIO_MIC_BIAS; | ||
321 | 317 | ||
322 | ret = gpio_request(spitz_mic_gpio, "MIC GPIO"); | 318 | ret = gpio_request(spitz_mic_gpio, "MIC GPIO"); |
323 | if (ret) | 319 | if (ret) |
@@ -327,37 +323,45 @@ static int __init spitz_init(void) | |||
327 | if (ret) | 323 | if (ret) |
328 | goto err2; | 324 | goto err2; |
329 | 325 | ||
330 | spitz_snd_device = platform_device_alloc("soc-audio", -1); | 326 | card->dev = &pdev->dev; |
331 | if (!spitz_snd_device) { | 327 | |
332 | ret = -ENOMEM; | 328 | ret = snd_soc_register_card(card); |
329 | if (ret) { | ||
330 | dev_err(&pdev->dev, "snd_soc_register_card() failed: %d\n", | ||
331 | ret); | ||
333 | goto err2; | 332 | goto err2; |
334 | } | 333 | } |
335 | 334 | ||
336 | platform_set_drvdata(spitz_snd_device, &snd_soc_spitz); | ||
337 | |||
338 | ret = platform_device_add(spitz_snd_device); | ||
339 | if (ret) | ||
340 | goto err3; | ||
341 | |||
342 | return 0; | 335 | return 0; |
343 | 336 | ||
344 | err3: | ||
345 | platform_device_put(spitz_snd_device); | ||
346 | err2: | 337 | err2: |
347 | gpio_free(spitz_mic_gpio); | 338 | gpio_free(spitz_mic_gpio); |
348 | err1: | 339 | err1: |
349 | return ret; | 340 | return ret; |
350 | } | 341 | } |
351 | 342 | ||
352 | static void __exit spitz_exit(void) | 343 | static int spitz_remove(struct platform_device *pdev) |
353 | { | 344 | { |
354 | platform_device_unregister(spitz_snd_device); | 345 | struct snd_soc_card *card = platform_get_drvdata(pdev); |
346 | |||
347 | snd_soc_unregister_card(card); | ||
355 | gpio_free(spitz_mic_gpio); | 348 | gpio_free(spitz_mic_gpio); |
349 | return 0; | ||
356 | } | 350 | } |
357 | 351 | ||
358 | module_init(spitz_init); | 352 | static struct platform_driver spitz_driver = { |
359 | module_exit(spitz_exit); | 353 | .driver = { |
354 | .name = "spitz-audio", | ||
355 | .owner = THIS_MODULE, | ||
356 | .pm = &snd_soc_pm_ops, | ||
357 | }, | ||
358 | .probe = spitz_probe, | ||
359 | .remove = spitz_remove, | ||
360 | }; | ||
361 | |||
362 | module_platform_driver(spitz_driver); | ||
360 | 363 | ||
361 | MODULE_AUTHOR("Richard Purdie"); | 364 | MODULE_AUTHOR("Richard Purdie"); |
362 | MODULE_DESCRIPTION("ALSA SoC Spitz"); | 365 | MODULE_DESCRIPTION("ALSA SoC Spitz"); |
363 | MODULE_LICENSE("GPL"); | 366 | MODULE_LICENSE("GPL"); |
367 | MODULE_ALIAS("platform:spitz-audio"); | ||