Merge remote-tracking branches 'asoc/fix/atmel', 'asoc/fix/cirrus', 'asoc/fix/da7213', 'asoc/fix/free' and 'asoc/fix/jack' into asoc-linus
This commit is contained in:
commit
6a9905e52c
|
@ -13861,7 +13861,7 @@ S: Odd fixes
|
|||
F: drivers/net/wireless/wl3501*
|
||||
|
||||
WOLFSON MICROELECTRONICS DRIVERS
|
||||
L: patches@opensource.wolfsonmicro.com
|
||||
L: patches@opensource.cirrus.com
|
||||
T: git https://github.com/CirrusLogic/linux-drivers.git
|
||||
W: https://github.com/CirrusLogic/linux-drivers/wiki
|
||||
S: Supported
|
||||
|
|
|
@ -301,6 +301,14 @@ static int atmel_classd_codec_probe(struct snd_soc_codec *codec)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int atmel_classd_codec_resume(struct snd_soc_codec *codec)
|
||||
{
|
||||
struct snd_soc_card *card = snd_soc_codec_get_drvdata(codec);
|
||||
struct atmel_classd *dd = snd_soc_card_get_drvdata(card);
|
||||
|
||||
return regcache_sync(dd->regmap);
|
||||
}
|
||||
|
||||
static struct regmap *atmel_classd_codec_get_remap(struct device *dev)
|
||||
{
|
||||
return dev_get_regmap(dev, NULL);
|
||||
|
@ -308,6 +316,7 @@ static struct regmap *atmel_classd_codec_get_remap(struct device *dev)
|
|||
|
||||
static struct snd_soc_codec_driver soc_codec_dev_classd = {
|
||||
.probe = atmel_classd_codec_probe,
|
||||
.resume = atmel_classd_codec_resume,
|
||||
.get_regmap = atmel_classd_codec_get_remap,
|
||||
.component_driver = {
|
||||
.controls = atmel_classd_snd_controls,
|
||||
|
|
|
@ -772,7 +772,7 @@ static int da7213_dai_event(struct snd_soc_dapm_widget *w,
|
|||
++i;
|
||||
msleep(50);
|
||||
}
|
||||
} while ((i < DA7213_SRM_CHECK_RETRIES) & (!srm_lock));
|
||||
} while ((i < DA7213_SRM_CHECK_RETRIES) && (!srm_lock));
|
||||
|
||||
if (!srm_lock)
|
||||
dev_warn(codec->dev, "SRM failed to lock\n");
|
||||
|
|
|
@ -202,7 +202,7 @@ static int asoc_simple_card_dai_init(struct snd_soc_pcm_runtime *rtd)
|
|||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret = asoc_simple_card_init_mic(rtd->card, &priv->hp_jack, PREFIX);
|
||||
ret = asoc_simple_card_init_mic(rtd->card, &priv->mic_jack, PREFIX);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
|
|
|
@ -2286,6 +2286,9 @@ static int soc_cleanup_card_resources(struct snd_soc_card *card)
|
|||
list_for_each_entry(rtd, &card->rtd_list, list)
|
||||
flush_delayed_work(&rtd->delayed_work);
|
||||
|
||||
/* free the ALSA card at first; this syncs with pending operations */
|
||||
snd_card_free(card->snd_card);
|
||||
|
||||
/* remove and free each DAI */
|
||||
soc_remove_dai_links(card);
|
||||
soc_remove_pcm_runtimes(card);
|
||||
|
@ -2300,9 +2303,7 @@ static int soc_cleanup_card_resources(struct snd_soc_card *card)
|
|||
if (card->remove)
|
||||
card->remove(card);
|
||||
|
||||
snd_card_free(card->snd_card);
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
/* removes a socdev */
|
||||
|
|
Loading…
Reference in New Issue