aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/omap/ams-delta.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/omap/ams-delta.c')
-rw-r--r--sound/soc/omap/ams-delta.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/sound/soc/omap/ams-delta.c b/sound/soc/omap/ams-delta.c
index bb243c663e6b..1f41951d8b7f 100644
--- a/sound/soc/omap/ams-delta.c
+++ b/sound/soc/omap/ams-delta.c
@@ -527,6 +527,15 @@ static int ams_delta_cx20442_init(struct snd_soc_pcm_runtime *rtd)
527 return 0; 527 return 0;
528} 528}
529 529
530static int ams_delta_card_remove(struct snd_soc_pcm_runtime *rtd)
531{
532 snd_soc_jack_free_gpios(&ams_delta_hook_switch,
533 ARRAY_SIZE(ams_delta_hook_switch_gpios),
534 ams_delta_hook_switch_gpios);
535
536 return 0;
537}
538
530/* DAI glue - connects codec <--> CPU */ 539/* DAI glue - connects codec <--> CPU */
531static struct snd_soc_dai_link ams_delta_dai_link = { 540static struct snd_soc_dai_link ams_delta_dai_link = {
532 .name = "CX20442", 541 .name = "CX20442",
@@ -543,6 +552,7 @@ static struct snd_soc_dai_link ams_delta_dai_link = {
543static struct snd_soc_card ams_delta_audio_card = { 552static struct snd_soc_card ams_delta_audio_card = {
544 .name = "AMS_DELTA", 553 .name = "AMS_DELTA",
545 .owner = THIS_MODULE, 554 .owner = THIS_MODULE,
555 .remove = ams_delta_card_remove,
546 .dai_link = &ams_delta_dai_link, 556 .dai_link = &ams_delta_dai_link,
547 .num_links = 1, 557 .num_links = 1,
548 558
@@ -579,10 +589,6 @@ static int ams_delta_remove(struct platform_device *pdev)
579 dev_warn(&pdev->dev, 589 dev_warn(&pdev->dev,
580 "failed to unregister V253 line discipline\n"); 590 "failed to unregister V253 line discipline\n");
581 591
582 snd_soc_jack_free_gpios(&ams_delta_hook_switch,
583 ARRAY_SIZE(ams_delta_hook_switch_gpios),
584 ams_delta_hook_switch_gpios);
585
586 snd_soc_unregister_card(card); 592 snd_soc_unregister_card(card);
587 card->dev = NULL; 593 card->dev = NULL;
588 return 0; 594 return 0;