Merge "audio-lnx: asoc: sdm660: fix rmmod issue with gpio_free"

This commit is contained in:
Linux Build Service Account 2017-10-25 22:31:50 -07:00 • committed by Gerrit - the friendly Code Review server
commit 30fe05e7ba

View file

@ -3135,20 +3135,6 @@ err_dt:
return ret;
}
static void msm_free_auxdev_mem(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
int i;
if (card->num_aux_devs > 0) {
for (i = 0; i < card->num_aux_devs; i++) {
kfree(msm_aux_dev[i].codec_name);
kfree(msm_codec_conf[i].dev_name);
kfree(msm_codec_conf[i].name_prefix);
}
}
}
static void i2s_auxpcm_init(struct platform_device *pdev)
{
int count;
@ -3367,10 +3353,18 @@ static int msm_asoc_machine_remove(struct platform_device *pdev)
if (pdata->snd_card_val == INT_SND_CARD)
mutex_destroy(&pdata->cdc_int_mclk0_mutex);
msm_free_auxdev_mem(pdev);
gpio_free(pdata->us_euro_gpio);
gpio_free(pdata->hph_en1_gpio);
gpio_free(pdata->hph_en0_gpio);
if (gpio_is_valid(pdata->us_euro_gpio)) {
gpio_free(pdata->us_euro_gpio);
pdata->us_euro_gpio = 0;
}
if (gpio_is_valid(pdata->hph_en1_gpio)) {
gpio_free(pdata->hph_en1_gpio);
pdata->hph_en1_gpio = 0;
}
if (gpio_is_valid(pdata->hph_en0_gpio)) {
gpio_free(pdata->hph_en0_gpio);
pdata->hph_en0_gpio = 0;
}
if (pdata->snd_card_val != INT_SND_CARD)
audio_notifier_deregister("sdm660");