ASoC: Fixes for v3.14
A few things here:
- Avoid memory leaks in error cases with DPCM, this code has never been
that well tested in mainline due to the lack of mainline drivers but
we now have one queued for the merge window!
- Fix the N810 audio driver to load when booted with DT since the
platform was converted to DT during the merge window.
- Fixes for initialisation of some MFD drivers that are probably unused
in mainline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTHgKsAAoJELSic+t+oim9JJkQAJOQz8x2BzpaQQfsnXuwNXwv
ShBeqGNcv66KtqcKDFHumL4k2fkewuwdsm3Nc/orUD3JI3mywdKStQH2/N9TAC6v
KzSufl4Xs6ByyeayxZSZTf7wEbSvqxT75dnmzso6YPRV7sPK/cdRtFoRFXTtJqB7
ixIRzfnatFvBhZVCgeGkS8WXzAFteXJF6Y90m+qNBJfgwO09gW4Gj2C6CW2kYfBm
3m+JGjGN8pAsvS3JVPAIDdyswxK0BUzDbRjsfXr+SvdbXaemmYhnRWeW4FLrv6Q3
DakMb/OlUJF3kq+9G6q1wMsieeIfErXwHs6SSurSHwg3+KJljYnZka9Vlh8dU/44
CrxMG/FS6RjZRLMq8090/ho59uQ2Qh79Qn2PTM5nZ5TmMDMTxw1xXl95BuGsZ3wd
5lPoP35LBFuOzxLuQs2Uz0p65uN3VETMgSW7FAOEpdh4SxHBG9veWjkrbvXvdtEd
9pUH3k4O9nX7KOJsGWreBprTRZQuw9REiZ36tVb1Qe2TSPmkbTzHGhNcezdlLifm
UWMIG4bR1lnKWMpQTd35ErzniJSyi8fJ55gbEm4ovq1FWHuueURPRD5OFAbHLLyR
FRxq9UFKGenzcsDksqU2gef7LKhauAcoLPiXXswL1qaZz/sTgmoqV63pZuxBiA+p
Avd3Dy1u5xZ4IM0B+Kr0
=2H5y
-----END PGP SIGNATURE-----
Merge tag 'asoc-v3.14-rc6' into asoc-linus
ASoC: Fixes for v3.14
A few things here:
- Avoid memory leaks in error cases with DPCM, this code has never been
that well tested in mainline due to the lack of mainline drivers but
we now have one queued for the merge window!
- Fix the N810 audio driver to load when booted with DT since the
platform was converted to DT during the merge window.
- Fixes for initialisation of some MFD drivers that are probably unused
in mainline
# gpg: Signature made Mon 10 Mar 2014 18:21:32 GMT using RSA key ID 7EA229BD
# gpg: Good signature from "Mark Brown <broonie@sirena.org.uk>"
# gpg: aka "Mark Brown <broonie@debian.org>"
# gpg: aka "Mark Brown <broonie@kernel.org>"
# gpg: aka "Mark Brown <broonie@tardis.ed.ac.uk>"
# gpg: aka "Mark Brown <broonie@linaro.org>"
# gpg: aka "Mark Brown <Mark.Brown@linaro.org>"
This commit is contained in:
commit
9070ce7e40
4 changed files with 10 additions and 2 deletions
|
|
@ -1328,6 +1328,9 @@ static int pm860x_probe(struct snd_soc_codec *codec)
|
|||
pm860x->codec = codec;
|
||||
|
||||
codec->control_data = pm860x->regmap;
|
||||
ret = snd_soc_codec_set_cache_io(codec, 0, 0, SND_SOC_REGMAP);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
ret = request_threaded_irq(pm860x->irq[i], NULL,
|
||||
|
|
|
|||
|
|
@ -210,7 +210,7 @@ out:
|
|||
static int si476x_codec_probe(struct snd_soc_codec *codec)
|
||||
{
|
||||
codec->control_data = dev_get_regmap(codec->dev->parent, NULL);
|
||||
return 0;
|
||||
return snd_soc_codec_set_cache_io(codec, 0, 0, SND_SOC_REGMAP);
|
||||
}
|
||||
|
||||
static struct snd_soc_dai_ops si476x_dai_ops = {
|
||||
|
|
|
|||
|
|
@ -305,7 +305,9 @@ static int __init n810_soc_init(void)
|
|||
int err;
|
||||
struct device *dev;
|
||||
|
||||
if (!(machine_is_nokia_n810() || machine_is_nokia_n810_wimax()))
|
||||
if (!of_have_populated_dt() ||
|
||||
(!of_machine_is_compatible("nokia,n810") &&
|
||||
!of_machine_is_compatible("nokia,n810-wimax")))
|
||||
return -ENODEV;
|
||||
|
||||
n810_snd_device = platform_device_alloc("soc-audio", -1);
|
||||
|
|
|
|||
|
|
@ -1989,6 +1989,7 @@ int soc_dpcm_runtime_update(struct snd_soc_card *card)
|
|||
|
||||
paths = dpcm_path_get(fe, SNDRV_PCM_STREAM_PLAYBACK, &list);
|
||||
if (paths < 0) {
|
||||
dpcm_path_put(&list);
|
||||
dev_warn(fe->dev, "ASoC: %s no valid %s path\n",
|
||||
fe->dai_link->name, "playback");
|
||||
mutex_unlock(&card->mutex);
|
||||
|
|
@ -2018,6 +2019,7 @@ capture:
|
|||
|
||||
paths = dpcm_path_get(fe, SNDRV_PCM_STREAM_CAPTURE, &list);
|
||||
if (paths < 0) {
|
||||
dpcm_path_put(&list);
|
||||
dev_warn(fe->dev, "ASoC: %s no valid %s path\n",
|
||||
fe->dai_link->name, "capture");
|
||||
mutex_unlock(&card->mutex);
|
||||
|
|
@ -2082,6 +2084,7 @@ static int dpcm_fe_dai_open(struct snd_pcm_substream *fe_substream)
|
|||
fe->dpcm[stream].runtime = fe_substream->runtime;
|
||||
|
||||
if (dpcm_path_get(fe, stream, &list) <= 0) {
|
||||
dpcm_path_put(&list);
|
||||
dev_dbg(fe->dev, "ASoC: %s no valid %s route\n",
|
||||
fe->dai_link->name, stream ? "capture" : "playback");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue