aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/pxa/hx4700.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/pxa/hx4700.c')
-rw-r--r--sound/soc/pxa/hx4700.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sound/soc/pxa/hx4700.c b/sound/soc/pxa/hx4700.c
index dcc9b04bd92c..6b81acaffddd 100644
--- a/sound/soc/pxa/hx4700.c
+++ b/sound/soc/pxa/hx4700.c
@@ -152,6 +152,13 @@ static int hx4700_ak4641_init(struct snd_soc_pcm_runtime *rtd)
152 return err; 152 return err;
153} 153}
154 154
155static int hx4700_card_remove(struct snd_soc_pcm_runtime *rtd)
156{
157 snd_soc_jack_free_gpios(&hs_jack, 1, &hs_jack_gpio);
158
159 return 0;
160}
161
155/* hx4700 digital audio interface glue - connects codec <--> CPU */ 162/* hx4700 digital audio interface glue - connects codec <--> CPU */
156static struct snd_soc_dai_link hx4700_dai = { 163static struct snd_soc_dai_link hx4700_dai = {
157 .name = "ak4641", 164 .name = "ak4641",
@@ -170,6 +177,7 @@ static struct snd_soc_dai_link hx4700_dai = {
170static struct snd_soc_card snd_soc_card_hx4700 = { 177static struct snd_soc_card snd_soc_card_hx4700 = {
171 .name = "iPAQ hx4700", 178 .name = "iPAQ hx4700",
172 .owner = THIS_MODULE, 179 .owner = THIS_MODULE,
180 .remove = hx4700_card_remove,
173 .dai_link = &hx4700_dai, 181 .dai_link = &hx4700_dai,
174 .num_links = 1, 182 .num_links = 1,
175 .dapm_widgets = hx4700_dapm_widgets, 183 .dapm_widgets = hx4700_dapm_widgets,
@@ -206,7 +214,6 @@ static int hx4700_audio_probe(struct platform_device *pdev)
206 214
207static int hx4700_audio_remove(struct platform_device *pdev) 215static int hx4700_audio_remove(struct platform_device *pdev)
208{ 216{
209 snd_soc_jack_free_gpios(&hs_jack, 1, &hs_jack_gpio);
210 snd_soc_unregister_card(&snd_soc_card_hx4700); 217 snd_soc_unregister_card(&snd_soc_card_hx4700);
211 218
212 gpio_set_value(GPIO92_HX4700_HP_DRIVER, 0); 219 gpio_set_value(GPIO92_HX4700_HP_DRIVER, 0);