Skip to content

Commit

Permalink
Merge remote-tracking branches 'asoc/fix/atmel', 'asoc/fix/cirrus', '…
Browse files Browse the repository at this point in the history
…asoc/fix/da7213', 'asoc/fix/free' and 'asoc/fix/jack' into asoc-linus
  • Loading branch information
Mark Brown committed May 26, 2017
6 parents 7a7ef5b + 61abce1 + 3a1672b + 14f814f + 4efda5f + f746aa5 commit 6a9905e
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 5 deletions.
2 changes: 1 addition & 1 deletion MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
9 changes: 9 additions & 0 deletions sound/soc/atmel/atmel-classd.c
Original file line number Diff line number Diff line change
Expand Up @@ -301,13 +301,22 @@ 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);
}

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,
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/codecs/da7213.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/generic/simple-card.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
5 changes: 3 additions & 2 deletions sound/soc/soc-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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 */
Expand Down

0 comments on commit 6a9905e

Please sign in to comment.